# -*- encoding:utf-8 -*-
from mako import runtime, filters, cache
UNDEFINED = runtime.UNDEFINED
__M_dict_builtin = dict
__M_locals_builtin = locals
_magic_number = 5
_modified_time = 1287208869.505034
_template_filename=u'/Users/joeldunham/old/onlinelinguisticdatabase/templates/derived/help/user_guide_body.html'
_template_uri=u'/derived/help/user_guide_body.html'
_template_cache=cache.Cache(__name__, _modified_time)
_source_encoding='utf-8'
from webhelpers.html import escape
_exports = []


def render_body(context,**pageargs):
    context.caller_stack._push_frame()
    try:
        __M_locals = __M_dict_builtin(pageargs=pageargs)
        __M_writer = context.writer()
        # SOURCE LINE 1
        __M_writer(u'<div class="document">\n<div class="contents topic" id="contents">\n<p class="topic-title first">Contents</p>\n<ul class="auto-toc simple">\n<li><a class="reference internal" href="#old-user-guide" id="id25">1&nbsp;&nbsp;&nbsp;OLD User Guide</a></li>\n<li><a class="reference internal" href="#about-the-old" id="id26">2&nbsp;&nbsp;&nbsp;About the OLD</a><ul class="auto-toc">\n<li><a class="reference internal" href="#what-the-old-will-allow-you-to" id="id27">2.1&nbsp;&nbsp;&nbsp;What the OLD Will Allow You To:</a></li>\n<li><a class="reference internal" href="#technical-specifications" id="id28">2.2&nbsp;&nbsp;&nbsp;Technical Specifications:</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#how-to-get-the-old" id="id29">3&nbsp;&nbsp;&nbsp;How to Get the OLD</a></li>\n<li><a class="reference internal" href="#how-to-use-the-old" id="id30">4&nbsp;&nbsp;&nbsp;How to Use the OLD</a><ul class="auto-toc">\n<li><a class="reference internal" href="#basics" id="id31">4.1&nbsp;&nbsp;&nbsp;Basics</a></li>\n<li><a class="reference internal" href="#user-interface" id="id32">4.2&nbsp;&nbsp;&nbsp;User Interface</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#forms" id="id33">5&nbsp;&nbsp;&nbsp;Forms</a><ul class="auto-toc">\n<li><a class="reference internal" href="#form-data" id="id34">5.1&nbsp;&nbsp;&nbsp;Form Data</a><ul class="auto-toc">\n<li><a class="reference internal" href="#id" id="id35">5.1.1&nbsp;&nbsp;&nbsp;ID</a></li>\n<li><a class="reference internal" href="#transcription" id="id36">5.1.2&nbsp;&nbsp;&nbsp;transcription</a></li>\n<li><a class="reference internal" href="#grammaticality" id="id37">5.1.3&nbsp;&nbsp;&nbsp;grammaticality</a></li>\n<li><a class="reference internal" href="#morpheme-break" id="id38">5.1.4&nbsp;&nbsp;&nbsp;morpheme break</a></li>\n<li><a class="reference internal" href="#morpheme-gloss" id="id39">5.1.5&nbsp;&nbsp;&nbsp;morpheme gloss</a></li>\n<li><a class="reference internal" href="#gloss" id="id40">5.1.6&nbsp;&nbsp;&nbsp;gloss</a></li>\n<li><a class="reference internal" href="#gloss-grammaticality" id="id41">5.1.7&nbsp;&nbsp;&nbsp;gloss grammaticality</a></li>\n<li><a class="reference internal" href="#general-comments" id="id42">5.1.8&nbsp;&nbsp;&nbsp;general comments</a></li>\n<li><a class="reference internal" href="#speaker-comments" id="id43">5.1.9&nbsp;&nbsp;&nbsp;speaker comments</a></li>\n<li><a class="reference internal" href="#elicitation-method" id="id44">5.1.10&nbsp;&nbsp;&nbsp;elicitation method</a></li>\n<li><a class="reference internal" href="#keywords" id="id45">5.1.11&nbsp;&nbsp;&nbsp;keywords</a></li>\n<li><a class="reference internal" href="#category" id="id46">5.1.12&nbsp;&nbsp;&nbsp;category</a></li>\n<li><a class="reference internal" href="#category-string" id="id47">5.1.13&nbsp;&nbsp;&nbsp;category string</a></li>\n<li><a class="reference internal" href="#speaker" id="id48">5.1.14&nbsp;&nbsp;&nbsp;speaker</a></li>\n<li><a class="reference internal" href="#elicitor" id="id49">5.1.15&nbsp;&nbsp;&nbsp;elicitor</a></li>\n<li><a class="reference internal" href="#enterer" id="id50">5.1.16&nbsp;&nbsp;&nbsp;enterer</a></li>\n<li><a class="reference internal" href="#verifier" id="id51">5.1.17&nbsp;&nbsp;&nbsp;verifier</a></li>\n<li><a class="reference internal" href="#source" id="id52">5.1.18&nbsp;&nbsp;&nbsp;source</a></li>\n<li><a class="reference internal" href="#date-elicited" id="id53">5.1.19&nbsp;&nbsp;&nbsp;date elicited</a></li>\n<li><a class="reference internal" href="#date-and-time-entered" id="id54">5.1.20&nbsp;&nbsp;&nbsp;date and time entered</a></li>\n<li><a class="reference internal" href="#date-and-time-last-modified" id="id55">5.1.21&nbsp;&nbsp;&nbsp;date and time last modified</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#adding-a-form" id="id56">5.2&nbsp;&nbsp;&nbsp;Adding a Form</a></li>\n<li><a class="reference internal" href="#searching-forms" id="id57">5.3&nbsp;&nbsp;&nbsp;Searching Forms</a><ul class="auto-toc">\n<li><a class="reference internal" href="#search-expressions" id="id58">5.3.1&nbsp;&nbsp;&nbsp;search expressions</a></li>\n<li><a class="reference internal" href="#order-by-expression" id="id59">5.3.2&nbsp;&nbsp;&nbsp;order by expression</a></li>\n<li><a class="reference internal" href="#additional-search-filters" id="id60">5.3.3&nbsp;&nbsp;&nbsp;additional search filters</a></li>\n<li><a class="reference internal" href="#previous-searches" id="id61">5.3.4&nbsp;&nbsp;&nbsp;previous searches</a></li>\n<li><a class="reference internal" href="#as-a-phrase" id="id62">5.3.5&nbsp;&nbsp;&nbsp;as a phrase</a></li>\n<li><a class="reference internal" href="#all-of-these" id="id63">5.3.6&nbsp;&nbsp;&nbsp;all of these</a></li>\n<li><a class="reference internal" href="#any-of-these" id="id64">5.3.7&nbsp;&nbsp;&nbsp;any of these</a></li>\n<li><a class="reference internal" href="#exactly" id="id65">5.3.8&nbsp;&nbsp;&nbsp;exactly</a></li>\n<li><a class="reference internal" href="#as-a-reg-exp" id="id66">5.3.9&nbsp;&nbsp;&nbsp;as a reg exp</a></li>\n<li><a class="reference internal" href="#searching-and-orthographies" id="id67">5.3.10&nbsp;&nbsp;&nbsp;searching and orthographies</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#browsing-forms" id="id68">5.4&nbsp;&nbsp;&nbsp;Browsing Forms</a></li>\n<li><a class="reference internal" href="#other-form-actions" id="id69">5.5&nbsp;&nbsp;&nbsp;Other Form Actions</a><ul class="auto-toc">\n<li><a class="reference internal" href="#update" id="id70">5.5.1&nbsp;&nbsp;&nbsp;update</a></li>\n<li><a class="reference internal" href="#delete" id="id71">5.5.2&nbsp;&nbsp;&nbsp;delete</a></li>\n<li><a class="reference internal" href="#history" id="id72">5.5.3&nbsp;&nbsp;&nbsp;history</a></li>\n<li><a class="reference internal" href="#associate" id="id73">5.5.4&nbsp;&nbsp;&nbsp;associate</a></li>\n<li><a class="reference internal" href="#remember" id="id74">5.5.5&nbsp;&nbsp;&nbsp;remember</a></li>\n<li><a class="reference internal" href="#export" id="id75">5.5.6&nbsp;&nbsp;&nbsp;export</a></li>\n<li><a class="reference internal" href="#export-all" id="id76">5.5.7&nbsp;&nbsp;&nbsp;export all</a></li>\n<li><a class="reference internal" href="#remember-all" id="id77">5.5.8&nbsp;&nbsp;&nbsp;remember all</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a class="reference internal" href="#files" id="id78">6&nbsp;&nbsp;&nbsp;Files</a><ul class="auto-toc">\n<li><a class="reference internal" href="#file-data" id="id79">6.1&nbsp;&nbsp;&nbsp;File Data</a><ul class="auto-toc">\n<li><a class="reference internal" href="#id1" id="id80">6.1.1&nbsp;&nbsp;&nbsp;ID</a></li>\n<li><a class="reference internal" href="#name" id="id81">6.1.2&nbsp;&nbsp;&nbsp;name</a></li>\n<li><a class="reference internal" href="#mime-type" id="id82">6.1.3&nbsp;&nbsp;&nbsp;MIME type</a></li>\n<li><a class="reference internal" href="#size" id="id83">6.1.4&nbsp;&nbsp;&nbsp;size</a></li>\n<li><a class="reference internal" href="#id2" id="id84">6.1.5&nbsp;&nbsp;&nbsp;enterer</a></li>\n<li><a class="reference internal" href="#description" id="id85">6.1.6&nbsp;&nbsp;&nbsp;description</a></li>\n<li><a class="reference internal" href="#id3" id="id86">6.1.7&nbsp;&nbsp;&nbsp;speaker</a></li>\n<li><a class="reference internal" href="#id4" id="id87">6.1.8&nbsp;&nbsp;&nbsp;elicitor</a></li>\n<li><a class="reference internal" href="#id5" id="id88">6.1.9&nbsp;&nbsp;&nbsp;date elicited</a></li>\n<li><a class="reference internal" href="#utterance-type" id="id89">6.1.10&nbsp;&nbsp;&nbsp;utterance type</a></li>\n<li><a class="reference internal" href="#id6" id="id90">6.1.11&nbsp;&nbsp;&nbsp;date and time entered</a></li>\n<li><a class="reference internal" href="#date-and-time-modified" id="id91">6.1.12&nbsp;&nbsp;&nbsp;date and time modified</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#adding-a-file" id="id92">6.2&nbsp;&nbsp;&nbsp;Adding a File</a></li>\n<li><a class="reference internal" href="#searching-files" id="id93">6.3&nbsp;&nbsp;&nbsp;Searching Files</a></li>\n<li><a class="reference internal" href="#browsing-files" id="id94">6.4&nbsp;&nbsp;&nbsp;Browsing Files</a></li>\n<li><a class="reference internal" href="#other-file-actions" id="id95">6.5&nbsp;&nbsp;&nbsp;Other File Actions</a><ul class="auto-toc">\n<li><a class="reference internal" href="#id7" id="id96">6.5.1&nbsp;&nbsp;&nbsp;update</a></li>\n<li><a class="reference internal" href="#id8" id="id97">6.5.2&nbsp;&nbsp;&nbsp;delete</a></li>\n<li><a class="reference internal" href="#id9" id="id98">6.5.3&nbsp;&nbsp;&nbsp;associate</a></li>\n<li><a class="reference internal" href="#id10" id="id99">6.5.4&nbsp;&nbsp;&nbsp;export all</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a class="reference internal" href="#collections" id="id100">7&nbsp;&nbsp;&nbsp;Collections</a><ul class="auto-toc">\n<li><a class="reference internal" href="#collection-data" id="id101">7.1&nbsp;&nbsp;&nbsp;Collection Data</a><ul class="auto-toc">\n<li><a class="reference internal" href="#id11" id="id102">7.1.1&nbsp;&nbsp;&nbsp;ID</a></li>\n<li><a class="reference internal" href="#title" id="id103">7.1.2&nbsp;&nbsp;&nbsp;title</a></li>\n<li><a class="reference internal" href="#type" id="id104">7.1.3&nbsp;&nbsp;&nbsp;type</a></li>\n<li><a class="reference internal" href="#id12" id="id105">7.1.4&nbsp;&nbsp;&nbsp;description</a></li>\n<li><a class="reference internal" href="#id13" id="id106">7.1.5&nbsp;&nbsp;&nbsp;speaker</a></li>\n<li><a class="reference internal" href="#id14" id="id107">7.1.6&nbsp;&nbsp;&nbsp;elicitor</a></li>\n<li><a class="reference internal" href="#id15" id="id108">7.1.7&nbsp;&nbsp;&nbsp;source</a></li>\n<li><a class="reference internal" href="#id16" id="id109">7.1.8&nbsp;&nbsp;&nbsp;date elicited</a></li>\n<li><a class="reference internal" href="#content" id="id110">7.1.9&nbsp;&nbsp;&nbsp;content</a></li>\n<li><a class="reference internal" href="#associated-files" id="id111">7.1.10&nbsp;&nbsp;&nbsp;associated files</a></li>\n<li><a class="reference internal" href="#associated-forms" id="id112">7.1.11&nbsp;&nbsp;&nbsp;associated forms</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#viewing-a-collection" id="id113">7.2&nbsp;&nbsp;&nbsp;Viewing a Collection</a></li>\n<li><a class="reference internal" href="#adding-a-collection" id="id114">7.3&nbsp;&nbsp;&nbsp;Adding a Collection</a></li>\n<li><a class="reference internal" href="#searching-collections" id="id115">7.4&nbsp;&nbsp;&nbsp;Searching Collections</a></li>\n<li><a class="reference internal" href="#browsing-collections" id="id116">7.5&nbsp;&nbsp;&nbsp;Browsing Collections</a></li>\n<li><a class="reference internal" href="#other-collection-actions" id="id117">7.6&nbsp;&nbsp;&nbsp;Other Collection Actions</a><ul class="auto-toc">\n<li><a class="reference internal" href="#id17" id="id118">7.6.1&nbsp;&nbsp;&nbsp;update</a></li>\n<li><a class="reference internal" href="#id18" id="id119">7.6.2&nbsp;&nbsp;&nbsp;delete</a></li>\n<li><a class="reference internal" href="#id19" id="id120">7.6.3&nbsp;&nbsp;&nbsp;associate</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a class="reference internal" href="#people" id="id121">8&nbsp;&nbsp;&nbsp;People</a><ul class="auto-toc">\n<li><a class="reference internal" href="#speakers" id="id122">8.1&nbsp;&nbsp;&nbsp;Speakers</a><ul class="auto-toc">\n<li><a class="reference internal" href="#view-a-speaker" id="id123">8.1.1&nbsp;&nbsp;&nbsp;view a speaker</a></li>\n<li><a class="reference internal" href="#add-a-speaker" id="id124">8.1.2&nbsp;&nbsp;&nbsp;add a speaker</a></li>\n<li><a class="reference internal" href="#update-a-speaker" id="id125">8.1.3&nbsp;&nbsp;&nbsp;update a speaker</a></li>\n<li><a class="reference internal" href="#delete-a-speaker" id="id126">8.1.4&nbsp;&nbsp;&nbsp;delete a speaker</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#users" id="id127">8.2&nbsp;&nbsp;&nbsp;Users</a><ul class="auto-toc">\n<li><a class="reference internal" href="#administrators" id="id128">8.2.1&nbsp;&nbsp;&nbsp;administrators</a></li>\n<li><a class="reference internal" href="#researchers" id="id129">8.2.2&nbsp;&nbsp;&nbsp;researchers</a></li>\n<li><a class="reference internal" href="#learners" id="id130">8.2.3&nbsp;&nbsp;&nbsp;learners</a></li>\n<li><a class="reference internal" href="#view-a-user" id="id131">8.2.4&nbsp;&nbsp;&nbsp;view a user</a></li>\n<li><a class="reference internal" href="#add-a-user" id="id132">8.2.5&nbsp;&nbsp;&nbsp;add a user</a></li>\n<li><a class="reference internal" href="#edit-a-user" id="id133">8.2.6&nbsp;&nbsp;&nbsp;edit a user</a></li>\n<li><a class="reference internal" href="#delete-a-user" id="id134">8.2.7&nbsp;&nbsp;&nbsp;delete a user</a></li>\n<li><a class="reference internal" href="#user-settings" id="id135">8.2.8&nbsp;&nbsp;&nbsp;user settings</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a class="reference internal" href="#tags" id="id136">9&nbsp;&nbsp;&nbsp;Tags</a><ul class="auto-toc">\n<li><a class="reference internal" href="#id20" id="id137">9.1&nbsp;&nbsp;&nbsp;Keywords</a><ul class="auto-toc">\n<li><a class="reference internal" href="#add-a-keyword" id="id138">9.1.1&nbsp;&nbsp;&nbsp;add a keyword</a></li>\n<li><a class="reference internal" href="#edit-a-keyword" id="id139">9.1.2&nbsp;&nbsp;&nbsp;edit a keyword</a></li>\n<li><a class="reference internal" href="#delete-a-keyword" id="id140">9.1.3&nbsp;&nbsp;&nbsp;delete a keyword</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#syntactic-categories" id="id141">9.2&nbsp;&nbsp;&nbsp;Syntactic Categories</a><ul class="auto-toc">\n<li><a class="reference internal" href="#add-a-syntactic-category" id="id142">9.2.1&nbsp;&nbsp;&nbsp;add a syntactic category</a></li>\n<li><a class="reference internal" href="#edit-a-syntactic-category" id="id143">9.2.2&nbsp;&nbsp;&nbsp;edit a syntactic category</a></li>\n<li><a class="reference internal" href="#delete-a-syntactic-category" id="id144">9.2.3&nbsp;&nbsp;&nbsp;delete a syntactic category</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#elicitation-methods" id="id145">9.3&nbsp;&nbsp;&nbsp;Elicitation Methods</a><ul class="auto-toc">\n<li><a class="reference internal" href="#add-an-elicitation-method" id="id146">9.3.1&nbsp;&nbsp;&nbsp;add an elicitation method</a></li>\n<li><a class="reference internal" href="#edit-an-elicitation-method" id="id147">9.3.2&nbsp;&nbsp;&nbsp;edit an elicitation method</a></li>\n<li><a class="reference internal" href="#id21" id="id148">9.3.3&nbsp;&nbsp;&nbsp;delete a syntactic category</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a class="reference internal" href="#sources" id="id149">10&nbsp;&nbsp;&nbsp;Sources</a><ul class="auto-toc">\n<li><a class="reference internal" href="#add-a-source" id="id150">10.1&nbsp;&nbsp;&nbsp;Add a Source</a></li>\n<li><a class="reference internal" href="#edit-a-source" id="id151">10.2&nbsp;&nbsp;&nbsp;Edit a Source</a></li>\n<li><a class="reference internal" href="#delete-a-source" id="id152">10.3&nbsp;&nbsp;&nbsp;Delete a Source</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#memory" id="id153">11&nbsp;&nbsp;&nbsp;Memory</a><ul class="auto-toc">\n<li><a class="reference internal" href="#forget-all" id="id154">11.1&nbsp;&nbsp;&nbsp;forget all</a></li>\n<li><a class="reference internal" href="#id22" id="id155">11.2&nbsp;&nbsp;&nbsp;export all</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#dictionary" id="id156">12&nbsp;&nbsp;&nbsp;Dictionary</a><ul class="auto-toc">\n<li><a class="reference internal" href="#browse" id="id157">12.1&nbsp;&nbsp;&nbsp;Browse</a><ul class="auto-toc">\n<li><a class="reference internal" href="#object-language-to-metalanguage" id="id158">12.1.1&nbsp;&nbsp;&nbsp;object language to metalanguage</a></li>\n<li><a class="reference internal" href="#metalanguage-to-object-language" id="id159">12.1.2&nbsp;&nbsp;&nbsp;metalanguage to object language</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#search" id="id160">12.2&nbsp;&nbsp;&nbsp;Search</a><ul class="auto-toc">\n<li><a class="reference internal" href="#id23" id="id161">12.2.1&nbsp;&nbsp;&nbsp;object language to metalanguage</a></li>\n<li><a class="reference internal" href="#id24" id="id162">12.2.2&nbsp;&nbsp;&nbsp;metalanguage to object language</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a class="reference internal" href="#application-settings" id="id163">13&nbsp;&nbsp;&nbsp;Application Settings</a><ul class="auto-toc">\n<li><a class="reference internal" href="#object-language" id="id164">13.1&nbsp;&nbsp;&nbsp;Object Language</a></li>\n<li><a class="reference internal" href="#storage-input-output" id="id165">13.2&nbsp;&nbsp;&nbsp;Storage, Input &amp; Output</a></li>\n<li><a class="reference internal" href="#object-language-orthography-ies" id="id166">13.3&nbsp;&nbsp;&nbsp;Object Language Orthography(/ies)</a></li>\n<li><a class="reference internal" href="#object-language-data" id="id167">13.4&nbsp;&nbsp;&nbsp;Object Language Data</a><ul class="auto-toc">\n<li><a class="reference internal" href="#pure-object-language-fields" id="id168">13.4.1&nbsp;&nbsp;&nbsp;Pure Object Language Fields</a></li>\n<li><a class="reference internal" href="#optionally-object-language-fields" id="id169">13.4.2&nbsp;&nbsp;&nbsp;Optionally Object Language Fields</a></li>\n<li><a class="reference internal" href="#object-language-tag-fields" id="id170">13.4.3&nbsp;&nbsp;&nbsp;Object Language Tag Fields</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#testing-orthography-conversion" id="id171">13.5&nbsp;&nbsp;&nbsp;Testing Orthography Conversion</a></li>\n<li><a class="reference internal" href="#metalanguage" id="id172">13.6&nbsp;&nbsp;&nbsp;Metalanguage</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#character-encoding" id="id173">14&nbsp;&nbsp;&nbsp;Character Encoding</a></li>\n<li><a class="reference internal" href="#fonts" id="id174">15&nbsp;&nbsp;&nbsp;Fonts</a></li>\n<li><a class="reference internal" href="#regular-expressions" id="id175">16&nbsp;&nbsp;&nbsp;Regular Expressions</a><ul class="auto-toc">\n<li><a class="reference internal" href="#metacharacters" id="id176">16.1&nbsp;&nbsp;&nbsp;Metacharacters</a></li>\n<li><a class="reference internal" href="#some-useful-regular-expressions" id="id177">16.2&nbsp;&nbsp;&nbsp;Some Useful Regular Expressions</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#old-markup" id="id178">17&nbsp;&nbsp;&nbsp;OLD Markup</a><ul class="auto-toc">\n<li><a class="reference internal" href="#old-form-embed-markup" id="id179">17.1&nbsp;&nbsp;&nbsp;OLD Form Embed Markup</a></li>\n<li><a class="reference internal" href="#old-entity-link-markup" id="id180">17.2&nbsp;&nbsp;&nbsp;OLD Entity Link Markup</a></li>\n<li><a class="reference internal" href="#old-file-file-markup" id="id181">17.3&nbsp;&nbsp;&nbsp;OLD File file Markup</a></li>\n<li><a class="reference internal" href="#old-image-embed-markup" id="id182">17.4&nbsp;&nbsp;&nbsp;OLD Image Embed Markup</a></li>\n<li><a class="reference internal" href="#old-metalanguage-markup" id="id183">17.5&nbsp;&nbsp;&nbsp;OLD Metalanguage Markup</a></li>\n</ul>\n</li>\n<li><a class="reference internal" href="#restructuredtext" id="id184">18&nbsp;&nbsp;&nbsp;reStructuredText</a></li>\n<li><a class="reference internal" href="#markdown" id="id185">19&nbsp;&nbsp;&nbsp;Markdown</a></li>\n<li><a class="reference internal" href="#keyboard-shortcuts" id="id186">20&nbsp;&nbsp;&nbsp;Keyboard Shortcuts</a></li>\n<li><a class="reference internal" href="#browser-support" id="id187">21&nbsp;&nbsp;&nbsp;Browser Support</a></li>\n<li><a class="reference internal" href="#glossary-of-terms" id="id188">22&nbsp;&nbsp;&nbsp;Glossary of Terms</a></li>\n<li><a class="reference internal" href="#future-features" id="id189">23&nbsp;&nbsp;&nbsp;Future Features</a><ul class="auto-toc">\n<li><a class="reference internal" href="#priorities" id="id190">23.1&nbsp;&nbsp;&nbsp;Priorities</a></li>\n<li><a class="reference internal" href="#relatively-easy-projects" id="id191">23.2&nbsp;&nbsp;&nbsp;Relatively Easy Projects</a></li>\n<li><a class="reference internal" href="#big-projects" id="id192">23.3&nbsp;&nbsp;&nbsp;Big Projects</a></li>\n</ul>\n</li>\n</ul>\n</div>\n<div class="section" id="old-user-guide">\n<h1><a class="toc-backref" href="#id25">1&nbsp;&nbsp;&nbsp;OLD User Guide</a></h1>\n<p>This guide provides general information about what the Online Linguistic\nDatabase (OLD) is and how it should be used.</p>\n</div>\n<div class="section" id="about-the-old">\n<h1><a class="toc-backref" href="#id26">2&nbsp;&nbsp;&nbsp;About the OLD</a></h1>\n<p>The OLD is a web application designed to be used by a group of individuals in\norder to document, analyze and learn a particular natural language.</p>\n<p>As a linguistics PhD student whose research involves the documentation and\nanalysis of understudied languages, I was originally motivated to create the\nOLD because I saw a lack of open source, cross-platform and multi-user database\napplications suitable for documenting linguistic data.  The OLD is my effort to\nfill that void.</p>\n<div class="section" id="what-the-old-will-allow-you-to">\n<h2><a class="toc-backref" href="#id27">2.1&nbsp;&nbsp;&nbsp;What the OLD Will Allow You To:</a></h2>\n<ul class="simple">\n<li>build a collaborative and ever-growing online database of linguistic data on a\nparticular language</li>\n<li>create a dictionary-like interface to your language data</li>\n<li>organize your linguistic data into an intelligent structure</li>\n<li>perform powerful searches on your data, utilizing regular expressions and\nboolean operators with multiple restrictors on multiple fields</li>\n<li>export data to a variety of formats (plain text, XML, LaTeX)</li>\n<li>incorporate non-textual data types (audio/video/images as recordings or\nstimuli) and specify the relationships between textual and non-textual data\ntypes</li>\n<li>document multi-sentence texts such as stories or records of elicitations</li>\n<li>collaborate and share data with other researchers authorized to use your OLD\napplication</li>\n<li>control access to your data via password-protected accounts for registered\nusers</li>\n</ul>\n</div>\n<div class="section" id="technical-specifications">\n<h2><a class="toc-backref" href="#id28">2.2&nbsp;&nbsp;&nbsp;Technical Specifications:</a></h2>\n<ul class="simple">\n<li>programming language is Python (2.6), using the Pylons (0.9.7) web framework</li>\n<li>model is a relational database (usually MySQL or SQLite) abstracted by\nSQLAlchemy</li>\n<li>user interface is HTML, CSS and Javascript</li>\n</ul>\n</div>\n</div>\n<div class="section" id="how-to-get-the-old">\n<h1><a class="toc-backref" href="#id29">3&nbsp;&nbsp;&nbsp;How to Get the OLD</a></h1>\n<p>The OLD is open source software licensed under the GPL.  That means you can\ndownload it, use it and alter its source code, but you cannot sell it for profit.</p>\n<p>The web page of the OLD is <a class="reference external" href="http://www.onlinelinguisticdatabase.org">www.onlinelinguisticdatabase.org</a> and the source code\nis hosted on Google Code\'s Project Hosting\n(<a class="reference external" href="http://code.google.com/p/onlinelinguisticdatabase">code.google.com/p/onlinelinguisticdatabase</a>).</p>\n<p>In order to create an OLD application, you must download the OLD, install it\non a server and customize it to suit the requirements of your language.  It is\npossible to install the OLD on, and run/test it from, your own computer without\nthe need for a server.</p>\n<p>The OLD web page provides instructions on downloading the OLD and setting up a\nlanguage-specific OLD application.</p>\n</div>\n<div class="section" id="how-to-use-the-old">\n<h1><a class="toc-backref" href="#id30">4&nbsp;&nbsp;&nbsp;How to Use the OLD</a></h1>\n<p>This section describes how to use an OLD application, i.e., how to add,\nstructure, search for, export, and otherwise interact with language data.</p>\n<div class="section" id="basics">\n<h2><a class="toc-backref" href="#id31">4.1&nbsp;&nbsp;&nbsp;Basics</a></h2>\n<p>At the heart of the OLD are three types of entity: Forms, Files and Collections.</p>\n<div class="figure">\n<img alt="the three entities of the OLD" src="/images/OLD_structure.jpg" style="width: 500px;" />\n<p class="caption">The three entities of the OLD</p>\n</div>\n<p>A Form is a morpheme, word, phrase or sentence of the object language.  Forms\nminimally consist of a transcription and a gloss (i.e., translation in the\nmetalanguage).  Optional data include a morphemic analysis, general comments,\ndate elicited, etc.  As the diagram indicates, a Form may be associated to\n(i.e., reference or point to) one or more Files (see below).</p>\n<p>A File is an audio, image, video, or text file.  A File could represent a\nrecording of an utterance, a depiction of a context, or a stimulus used in\nelicitation.</p>\n<p>A Collection is an ordered list of Forms.  A Collection might represent a story\nor a record of an elicitation or any other multi-sentence (and therefore\nmulti-Form) piece of discourse.  Like a Form, a Collection can be associated\nto one or more Files.</p>\n<p>Interacting with an OLD application typically involves creating, searching for\nor updating a Form, File or Collection.  Other common actions include adding or\nmodifying people (users or speakers), tags (keywords, syntactic categories or\nelicitation methods) or sources.</p>\n</div>\n<div class="section" id="user-interface">\n<h2><a class="toc-backref" href="#id32">4.2&nbsp;&nbsp;&nbsp;User Interface</a></h2>\n<p>The primary menu contains the database, dictionary, help and settings options.</p>\n<p>The contents of the secondary menu depend on the currently active primary menu\noption.  When the database option is active in the primary menu, the secondary\nmenu contains the people, tags, sources and memory options.  When the dictionary\noption is active, the secondary menu contains browse and search options.  The\nhelp and settings primary menu options make the secondary menu disappear.</p>\n<p>The side menu contains links to common actions on OLD entities, namely adding\nand searching for Forms, Files and Collections.</p>\n<div class="figure">\n<img alt="the basic OLD interface" src="/images/OLD_interface.png" style="width: 500px;" />\n<p class="caption">The basic OLD interface</p>\n</div>\n</div>\n</div>\n<div class="section" id="forms">\n<h1><a class="toc-backref" href="#id33">5&nbsp;&nbsp;&nbsp;Forms</a></h1>\n<p>As stated above, a Form is a grouping of data that are about a morpheme, word,\nphrase or sentence of the object language.</p>\n<div class="section" id="form-data">\n<h2><a class="toc-backref" href="#id34">5.1&nbsp;&nbsp;&nbsp;Form Data</a></h2>\n<p>This subsection describes the types of data that comprise a Form.  In the\ncontext of the relational database model, these types of data are the columns of\nthe Form table.</p>\n<div class="section" id="id">\n<h3><a class="toc-backref" href="#id35">5.1.1&nbsp;&nbsp;&nbsp;ID</a></h3>\n<p>The ID is a unique integer assigned by the RDBMS to each Form upon creation.\nKnowing the ID of a Form comes in handy when you want to associate that Form to\na Collection.  It is also good to know for when you want to quickly access a\nForm.</p>\n<p>For example, enter &quot;domain_name/form/view/11&quot; (where\n&quot;domain_name&quot; is your OLD application\'s domain name, e.g., &quot;www.old.org&quot;) in\nyour browser\'s address bar to view form with ID 11.</p>\n<p>You can also enter a comma-separated list of Form IDs to quickly access several\nForms: &quot;domain_name/form/view/11,12,13,14&quot;</p>\n</div>\n<div class="section" id="transcription">\n<h3><a class="toc-backref" href="#id36">5.1.2&nbsp;&nbsp;&nbsp;transcription</a></h3>\n<p>The transcription is a textual representation of the sound of a Form.</p>\n<p>A transcription is an object language string and as such it should be written\nusing the graphs of the input orthography.  (If not specified in the current\nuser\'s settings, the input orthography is the default input orthography\nspecified in the application settings.)  Before being stored in the database,\nthe transcription will be converted from the input orthography to the\nstorage orthography.</p>\n<p>The recommended position of the transcription along the &quot;broad-narrow&quot;\n&quot;phonetic/phonemic&quot; spectrum should be stated in your particular OLD\napplication\'s help section.</p>\n<p>A multi-sentence discourse should not be entered as a single form, but as\nmultiple Forms, grouped together and ordered into a Collection.</p>\n<p>It is recommended that transcriptions contain only the following (strings of)\ncharacters:</p>\n<ul class="simple">\n<li>graphs from the input orthography</li>\n<li>standard punctuation: &quot; \' ( ) ! ? , ; :</li>\n</ul>\n<p>(In future versions of the OLD, functionality may be created that\nwould output a warning after, or even disallow, entry of transcriptions\nviolating these conditions.)</p>\n</div>\n<div class="section" id="grammaticality">\n<h3><a class="toc-backref" href="#id37">5.1.3&nbsp;&nbsp;&nbsp;grammaticality</a></h3>\n<p>The grammaticality indicates whether a particular object language Form is\ngrammatical (), ungrammatical (\'*\') or questionable (\'?\').  (Either more\ngrammaticality options should be added as standard or administrators/researchers\nshould be able to customize the forced-choice grammaticality field.)</p>\n<p>When adding a Form, grammaticality judgments should not be indicated in the text\nof the transcription.  Instead, use the forced choice select field to the left\nof the transcription input field.</p>\n</div>\n<div class="section" id="morpheme-break">\n<h3><a class="toc-backref" href="#id38">5.1.4&nbsp;&nbsp;&nbsp;morpheme break</a></h3>\n<p>The morpheme break field contains a morphological analysis of the form.  The\nsystem is currently preset to expect \'-\' and \'=\' as morpheme delimiters and \' \'\nas the word delimiter, but this could/should be made customizable on an\napplication-specific basis.</p>\n<p>The morpheme break field may or may not be specified as an object language\nstring field.  Such specification is made by administrators in the application\nsettings page.  If the morpheme break field is set up as an object language\nstring field, then morpheme break input will be converted to the storage\northography for storage and converted to the output orthography for display\n(just like the data in the transcription field.)  If the morpheme break field is\nnot set up as an object language string field, then no conversion will be\napplied.</p>\n<p>Whenever a Form is entered or updated, the OLD attempts to identify all of that\nForm\'s morpheme-gloss pairs and searches for matches in existing Forms.  If one\nor more matches are found, then the morpheme and its gloss are displayed as HTML\nlinks the match(es).  This allows users to immediately see the extent to which\ntheir morphological analyses are consistent with the rest of the data in the\nsystem.</p>\n<p>To understand this morphological linking in detail, imagine an OLD application\ncontaining the following two Forms:</p>\n<table border="1" class="docutils">\n<colgroup>\n<col width="50%" />\n<col width="50%" />\n</colgroup>\n<tbody valign="top">\n<tr><td>ID</td>\n<td>1</td>\n</tr>\n<tr><td>transcription</td>\n<td>chien</td>\n</tr>\n<tr><td>morpheme break</td>\n<td>chien</td>\n</tr>\n<tr><td>morpheme gloss</td>\n<td>dog</td>\n</tr>\n<tr><td>gloss</td>\n<td>dog, mutt</td>\n</tr>\n</tbody>\n</table>\n<table border="1" class="docutils">\n<colgroup>\n<col width="50%" />\n<col width="50%" />\n</colgroup>\n<tbody valign="top">\n<tr><td>ID</td>\n<td>2</td>\n</tr>\n<tr><td>transcription</td>\n<td>s</td>\n</tr>\n<tr><td>morpheme break</td>\n<td>s</td>\n</tr>\n<tr><td>morpheme gloss</td>\n<td>plrl</td>\n</tr>\n<tr><td>gloss</td>\n<td>plural marker</td>\n</tr>\n</tbody>\n</table>\n<p>Now, when the following Form is entered,</p>\n<table border="1" class="docutils">\n<colgroup>\n<col width="50%" />\n<col width="50%" />\n</colgroup>\n<tbody valign="top">\n<tr><td>transcription</td>\n<td>chiens</td>\n</tr>\n<tr><td>morpheme break</td>\n<td>chien-s</td>\n</tr>\n<tr><td>morpheme gloss</td>\n<td>dog-PL</td>\n</tr>\n<tr><td>gloss</td>\n<td>dogs</td>\n</tr>\n</tbody>\n</table>\n<p>the system identifies the following morpheme-gloss pairs (\'chien\'-\'dog\' and\n\'s\'-\'PL\').  It first searches the database for a Form with \'chien\' as its\nmorpheme break value and \'dog\' as its morpheme gloss value.  It finds such a\nmatch in Form 1 and as a result it displays both \'chien\' and \'dog\' in our newly\nentered Form as links to Form 1.  The link is displayed in blue font to indicate\na perfect match.</p>\n<p>Its second search is for a Form with \'s\' as its morpheme break value and \'PL\' as\nits morpheme gloss value.  A match is found in Form 2, but it is partial because\nthe morpheme gloss value of Form 2 is \'plrl\' and not \'PL\'.  Therefore, \'s\' in\nour new Form will be displayed as a green link (green to indicate a partial\nmatch) to Form 2 and \'PL\' will not be displayed as a link.</p>\n</div>\n<div class="section" id="morpheme-gloss">\n<h3><a class="toc-backref" href="#id39">5.1.5&nbsp;&nbsp;&nbsp;morpheme gloss</a></h3>\n<p>The morpheme gloss field should contain a gloss in the metalanguage for each\nobject language morpheme listed in the morpheme break field.  The same\ndelimiters should be used between the morpheme glosses as were used between the\nmorphemes in the morpheme break line.</p>\n<p>Researchers of an OLD application might want to work toward a consensus on how\nmorphemes should be glossed.</p>\n<p>Morpheme glosses will be displayed as links to matching Forms in the manner\ndescribed above in the section on morpheme breaks.</p>\n</div>\n<div class="section" id="gloss">\n<h3><a class="toc-backref" href="#id40">5.1.6&nbsp;&nbsp;&nbsp;gloss</a></h3>\n<p>The gloss is a translation of the Form into the metalanguage.  When the Form\nrepresents a spatio-temporally located utterance, whenever possible the gloss\nshould be something that the speaker offered, or would at least consent to, as a\ntranslation.</p>\n<p>The OLD allows multiple (up to four) glosses for a single Form.  Each gloss has\nits own gloss grammaticality field.  This makes it possible to document a Form\nas compatible with certain glosses but not with others.  For example, a form\nabout the French word \'banque\' might have \'bank (financial institutition)\' as\nits first gloss and \'*riverbank\' as its second gloss.</p>\n</div>\n<div class="section" id="gloss-grammaticality">\n<h3><a class="toc-backref" href="#id41">5.1.7&nbsp;&nbsp;&nbsp;gloss grammaticality</a></h3>\n<p>As discussed in the gloss section above, each gloss may have its own\ngrammaticality.  This grammaticality indicates the acceptability of the Form\nwith a particular translation into the metalanguage.  At present, the OLD allows\nthree choices: compatible (\'\'), incompatible (\'*\') and questionable (\'?\').</p>\n</div>\n<div class="section" id="general-comments">\n<h3><a class="toc-backref" href="#id42">5.1.8&nbsp;&nbsp;&nbsp;general comments</a></h3>\n<p>The general comments field is intended to contain notes pertaining to the Form\nin question.  If you don\'t know where else to document something about a Form,\nenter it in the general comments field.</p>\n</div>\n<div class="section" id="speaker-comments">\n<h3><a class="toc-backref" href="#id43">5.1.9&nbsp;&nbsp;&nbsp;speaker comments</a></h3>\n<p>The speaker comments field is intended to contain quotations (or paraphrases)\nfrom the speaker of a particular Form.  Often a comment from the speaker is\nnot appropriate as a gloss yet it contains valuable information about some\naspect of the Form.</p>\n</div>\n<div class="section" id="elicitation-method">\n<h3><a class="toc-backref" href="#id44">5.1.10&nbsp;&nbsp;&nbsp;elicitation method</a></h3>\n<p>The elicitation method refers to the means via which a particular Form was\nobtained.  Often, for example, it is useful to know whether the speaker\ntranslated a metalanguage utterance of the elicitor, or described a visually\nrepresented context or judged the grammaticality of an object language utterance\nmade by the elicitor, or whether the Form was obtained in some other manner.</p>\n<p>The elicitation method field is a forced-choice user-populated field.  That is,\nresearchers must choose from a list of possible elicitation methods, but that\nlist can be modified by researchers.  By default there are no elicitation\nmethods predefined by an OLD application.  Users must click on &quot;database&quot; in the\nprimary menu and then &quot;tags&quot; in the secondary menu in order to add (or possibly\nupdate) the list of elicitation methods.  (See the elicitation methods section).\nThe intention behind forced-choice user-populated fields is to encourage intra-\nand inter-user consistency.</p>\n</div>\n<div class="section" id="keywords">\n<h3><a class="toc-backref" href="#id45">5.1.11&nbsp;&nbsp;&nbsp;keywords</a></h3>\n<p>Keywords provide users with a general-purpose way of tagging Forms.  A single\nForm may be associated to zero, one or many keywords.  Keywords are defined by\nusers of the OLD application in question.  Click on &quot;database&quot; in the primary\nmenu and then &quot;tags&quot; in the secondary menu to add new keywords.</p>\n</div>\n<div class="section" id="category">\n<h3><a class="toc-backref" href="#id46">5.1.12&nbsp;&nbsp;&nbsp;category</a></h3>\n<p>The category refers to the syntactic or morphological category of the Form.\nLike elicitation method, category is a forced-choice user-populated field which\nis initially empty in a new OLD application.  Researchers can add new categories\n(e.g., S, N, V, A, Adv, etc.) by clicking on &quot;database&quot; in the primary menu and\n&quot;tags&quot; in the secondary menu.  (See the category section.)</p>\n</div>\n<div class="section" id="category-string">\n<h3><a class="toc-backref" href="#id47">5.1.13&nbsp;&nbsp;&nbsp;category string</a></h3>\n<p>The category string is a string representing the morpho-syntactic categories of\nthe morphemes within the Form.  This string is generated by the system based on\nthe morpheme break and morpheme gloss data entered by the user.  For example,\nsuppose that the following form has just been entered.</p>\n<table border="1" class="docutils">\n<colgroup>\n<col width="50%" />\n<col width="50%" />\n</colgroup>\n<tbody valign="top">\n<tr><td>transcription</td>\n<td>chiens</td>\n</tr>\n<tr><td>morpheme break</td>\n<td>chien-s</td>\n</tr>\n<tr><td>morpheme gloss</td>\n<td>dog-PL</td>\n</tr>\n<tr><td>gloss</td>\n<td>dogs</td>\n</tr>\n</tbody>\n</table>\n<p>Suppose further that when the system searches for the morpheme-gloss pairs\n\'chien\'-\'dog\' and \'s\'-\'PL\' it finds and exact match for each.  In that scenario,\nthe categories of the \'chien\'-\'dog\' and \'s\'-\'PL\' Forms (lets say they are \'N\'\nand \'Agr\') will be used to generate the category string of \'chiens\' and the\nresult will be \'N-Agr\'.</p>\n<p>When an OLD application contains many Forms whose morpheme break and morpheme\ngloss fields are consistent with the system\'s own lexical Forms, many category\nstrings will be generated.  When this is the case, users can search the category\nstrings to reveal high-level morpho-syntactic patterns.</p>\n</div>\n<div class="section" id="speaker">\n<h3><a class="toc-backref" href="#id48">5.1.14&nbsp;&nbsp;&nbsp;speaker</a></h3>\n<p>The speaker is the individual who uttered the object language token that the\nForm represents.  To view the list of speakers documented in an OLD application,\nclick on &quot;database&quot; in the primary menu and &quot;people&quot; in the secondary menu.\nBoth administrators and researchers may add new speakers to the system (see the\nspeaker section).</p>\n</div>\n<div class="section" id="elicitor">\n<h3><a class="toc-backref" href="#id49">5.1.15&nbsp;&nbsp;&nbsp;elicitor</a></h3>\n<p>The elicitor is the researcher who elicited the Form, that is, the person who\nrecorded and/or transcribed the utterance of a speaker.  Entering an elicitor\ninvolves choosing from a list of people registered as researchers for the OLD\napplication in question.  To view the list of registered researchers of an OLD\napplication, click on &quot;database&quot; in the primary menu and &quot;people&quot; in the\nsecondary menu.</p>\n</div>\n<div class="section" id="enterer">\n<h3><a class="toc-backref" href="#id50">5.1.16&nbsp;&nbsp;&nbsp;enterer</a></h3>\n<p>The enterer field is automatically populated with the name of the OLD researcher\nwho is adding the Form.  In order to add a Form, a person must be logged in to\nthe OLD application.</p>\n</div>\n<div class="section" id="verifier">\n<h3><a class="toc-backref" href="#id51">5.1.17&nbsp;&nbsp;&nbsp;verifier</a></h3>\n<p>The verifier of a Form is another (perhaps more experienced) researcher who has\nalready elicited a near-identical utterance and wants to indicate her agreement\nabout the accuracy of the first researcher\'s documentation of that utterance.\n(The verifier field might be seldom used in practice...)</p>\n</div>\n<div class="section" id="source">\n<h3><a class="toc-backref" href="#id52">5.1.18&nbsp;&nbsp;&nbsp;source</a></h3>\n<p>This category refers to the textual source of a Form, if applicable.\nResearchers can add new sources by clicking on &quot;database&quot; in the primary menu\nand &quot;sources&quot; in the secondary menu.</p>\n</div>\n<div class="section" id="date-elicited">\n<h3><a class="toc-backref" href="#id53">5.1.19&nbsp;&nbsp;&nbsp;date elicited</a></h3>\n<p>The date when the Form was elicited (if applicable) is documented in the date\nelicited field in mm/dd/yyyy format.</p>\n</div>\n<div class="section" id="date-and-time-entered">\n<h3><a class="toc-backref" href="#id54">5.1.20&nbsp;&nbsp;&nbsp;date and time entered</a></h3>\n<p>The date and time when the Form was entered into the OLD application is\nautomatically generated upon entry by the system.</p>\n</div>\n<div class="section" id="date-and-time-last-modified">\n<h3><a class="toc-backref" href="#id55">5.1.21&nbsp;&nbsp;&nbsp;date and time last modified</a></h3>\n<p>The date and time when the Form was last updated (modified) is automatically\ngenerated by the system during each update.</p>\n</div>\n</div>\n<div class="section" id="adding-a-form">\n<h2><a class="toc-backref" href="#id56">5.2&nbsp;&nbsp;&nbsp;Adding a Form</a></h2>\n<p>To add a Form, click on &quot;add&quot; under &quot;forms&quot; in the side menu or use the keyboard\nshortcut &quot;a&quot;.</p>\n<p>Users can press the tab button to focus each of the fields in top-to-bottom,\nleft-to-right order.  If more than one gloss needs to be added, click on the &quot;+&quot;\nbutton to the right of the first visible gloss field.  The only mandatory fields\nare the transcription and gloss fields.  Once all necessary data has been\nentered, click the &quot;Add Form&quot; button at the bottom of the page.</p>\n<p>Some general guidelines for entering Forms:</p>\n<ul class="simple">\n<li>in the transcription field, only use the characters (or character sequences)\nspecified in the input orthography (plus standard punctuation).  Remember,\na user can specify her own input orthography and said orthography may differ\nfrom the system-wide default input orthography.</li>\n<li>in the morpheme break field, only use the characters (or character sequences)\nspecified in the input orthography of your OLD application plus standard\npunctuation and morpheme delimiters.  (This assumes your OLD application is\ntreating morpheme break data as strings of the object language; see the XXX\nsection for details.)</li>\n<li>try to be consistent in your transcriptions, your spelling of morphemes and\nyour spelling of glosses, if not with the practice of other users, then at\nleast with your own past practice; such consistency will help you (and others)\nto find quickly the data you need</li>\n<li>if you forget how a morpheme or gloss has been transcribed, open a Form search\npage in a new browser window/tab and search for your morpheme/gloss to find\nout past spellings (hint: it is often useful to have serveral OLD browser tabs\nopen at once)</li>\n</ul>\n<p>What to do if the database already contains a Form very similar to the one you\nare about to add:</p>\n<ul class="simple">\n<li>if your Form represents a recording of an utterance event, it is usually best\nto enter your Form despite the quasi-duplication it will cause</li>\n<li>if your Form represents an abstraction (e.g., a morpheme or word), then it is\nusually best to not enter a duplicate Form</li>\n</ul>\n</div>\n<div class="section" id="searching-forms">\n<h2><a class="toc-backref" href="#id57">5.3&nbsp;&nbsp;&nbsp;Searching Forms</a></h2>\n<p>The OLD allows you to perform powerful searches on your Form data.  The\nscreenshot below shows the OLD Form search page.</p>\n<div class="figure">\n<img alt="screenshot of the OLD Form search page" src="/images/OLD_form_search.png" style="width: 500px;" />\n<p class="caption">The standard OLD Form search page</p>\n</div>\n<div class="section" id="search-expressions">\n<h3><a class="toc-backref" href="#id58">5.3.1&nbsp;&nbsp;&nbsp;search expressions</a></h3>\n<p>Users can enter one or two search expressions and these expressions can be\ncoordinated via conjunction (\'and\'), disjunction (\'or\') or negated conjunction\n(\'and not\').</p>\n<p>Each search expressions is comprised of (i) a text input field (ii) a search\ntype select field and (iii) a search location select field.</p>\n<p>The text input field is where one enters the pattern that the result data must\nmatch.</p>\n<p>The search type select field indicates the way in which the search is to\nbe implemented.  The search type options are \'as a phrase\', \'all of these\',\n\'any of these\', \'as a reg exp\' and \'exactly\'.  These will be discussed in more\ndetail below.</p>\n<p>The search location select field lists options for where (i.e., which column of\nthe Form table) the system should look to match the pattern.  The search\nlocation options are \'transcription\', \'gloss\', \'morpheme break\', \'morpheme\ngloss\', \'general comments\', \'speaker comments\', \'syntactic category string\' and\n\'ID\'.</p>\n</div>\n<div class="section" id="order-by-expression">\n<h3><a class="toc-backref" href="#id59">5.3.2&nbsp;&nbsp;&nbsp;order by expression</a></h3>\n<p>The order by expression allows one to state the order in which the matching\nresults should be returned.  One thing to note about the order by expression is\nthat it will (probably) not order your results according to the order of graphs\nin the orthography specified in your OLD application settings.  The order by\nexpression uses the code points (in utf-8 encoding) of the characters in order\nto determine order.  If your orthography contains characters outside of the 26\nstandard English ones, then the code points of those characters will likely be\nquite high and those characters will be understood by the system as coming after\n\'z\'.</p>\n</div>\n<div class="section" id="additional-search-filters">\n<h3><a class="toc-backref" href="#id60">5.3.3&nbsp;&nbsp;&nbsp;additional search filters</a></h3>\n<p>Additional search filters can be added to your search by clicking on the \'+\'\nbutton next to \'additional search filters\'.  Here one can further refine a\nForm search by putting conditions on the speaker, elicitor, enterer, verifier,\nsource, grammaticality, gloss grammaticality, elicitation method, (syntactic)\ncategory, keywords, date elicited, date entered and/or date modified.</p>\n</div>\n<div class="section" id="previous-searches">\n<h3><a class="toc-backref" href="#id61">5.3.4&nbsp;&nbsp;&nbsp;previous searches</a></h3>\n<p>One can repeat or make modifications to a previous search by clicking\non the &quot;previous searches&quot; button at the bottom of the Form search page.  The\nOLD keeps a record of each user\'s last ten searches and displays them when this\nbutton is clicked.  When a past search is clicked, the search Form is returned\nwith the appropriate fields set so that clicking &quot;Search Forms&quot; will repeat the\nsearch.  This functionality is good for repeating searches as well as for making\nmodifications to previous searches without having to re-enter all the search\ncriteria.</p>\n<p>The following subsections describe how to use each of the different search types\navailable in a search expression.</p>\n</div>\n<div class="section" id="as-a-phrase">\n<h3><a class="toc-backref" href="#id62">5.3.5&nbsp;&nbsp;&nbsp;as a phrase</a></h3>\n<p>The \'as a phrase\' search type option causes the system to return all forms where\nthe search location contains the specified search term as a substring.  Thus,\nsearching for the pattern \'the\' as a phrase in the transcription field will\nreturn all Forms where the string \'the\' is in the transcription, e.g., \'the\ndog\', \'they left\', \'another thing\', etc.</p>\n</div>\n<div class="section" id="all-of-these">\n<h3><a class="toc-backref" href="#id63">5.3.6&nbsp;&nbsp;&nbsp;all of these</a></h3>\n<p>The \'all of these\' search type option causes the search pattern to be split by\nwhitespace into sub-patterns and returns all Forms where the chosen location\ncontains all of the sub-patterns.  For example, searching for \'the and\' with the\n\'all of these\' search type option in the transcription field will return all\nForms where both \'the\' and \'and\' are in the transcription, e.g., \'the sand\',\n\'the cat and the dog\', \'Mandy hit her brother\', etc.</p>\n</div>\n<div class="section" id="any-of-these">\n<h3><a class="toc-backref" href="#id64">5.3.7&nbsp;&nbsp;&nbsp;any of these</a></h3>\n<p>The \'any of these\' search type option causes the search pattern to be split by\nwhitespace into sub-patterns and returns all Forms where the chosen location\ncontains any of the sub-patterns.  For example, searching for \'the and\' with the\n\'any of these\' search type option in the transcription field will return all\nForms where either \'the\' and \'and\' are in the transcription, e.g., \'the dog\',\n\'Mandy ran\', \'John and Mary smiled\', \'other people\', etc.</p>\n</div>\n<div class="section" id="exactly">\n<h3><a class="toc-backref" href="#id65">5.3.8&nbsp;&nbsp;&nbsp;exactly</a></h3>\n<p>The \'exactly\' search type option returns all Forms where the selected search\nlocation contains nothing but the search pattern.  For example, searching for\n\'dog\' in the transcription with \'exactly\' as the search type option will return\nall Forms where the transcription value contains the string \'dog\' and nothing\nelse.</p>\n</div>\n<div class="section" id="as-a-reg-exp">\n<h3><a class="toc-backref" href="#id66">5.3.9&nbsp;&nbsp;&nbsp;as a reg exp</a></h3>\n<p>The \'as a reg exp\' search type option causes the search term to be interpreted\nas a regular expression.  Regular expressions use a certain syntax which allows\nyou to specify complex patterns.  For example, using regular expressions one\ncould search for the word \'the\' and avoid matching \'other\' or \'they\' or one\ncould search for strings that begin with \'t\'.  Regular expression searches are\nvery powerful but require learning a bit of the regular expression syntax.  See\nthe <a class="reference internal" href="#regular-expressions">Regular Expressions</a> section for more details.</p>\n</div>\n<div class="section" id="searching-and-orthographies">\n<h3><a class="toc-backref" href="#id67">5.3.10&nbsp;&nbsp;&nbsp;searching and orthographies</a></h3>\n<p>The text input of a search expression whose location is transcription (or\nmorpheme break, depending on the system settings) will be converted from the\ninput orthography to the storage orthography before the query is performed.</p>\n</div>\n</div>\n<div class="section" id="browsing-forms">\n<h2><a class="toc-backref" href="#id68">5.4&nbsp;&nbsp;&nbsp;Browsing Forms</a></h2>\n<p>There are two ways to browse all forms:</p>\n<ol class="arabic simple">\n<li>Click on &quot;forms&quot; in the side menu.  This will return all Forms in the\ndatabase, ordered by transcription ascending.</li>\n<li>Enter an empty search, i.e., just go to the Form search page and hit enter\nor click on &quot;Search Forms&quot;.  This method allows you to change the default\nordering</li>\n</ol>\n<p>(You can also browse forms via the dictionary interface to the database (see the\n<a class="reference internal" href="#dictionary">Dictionary</a> section).  However, the dictionary lists only those Forms whose\ntranscriptions contain no white space.)</p>\n</div>\n<div class="section" id="other-form-actions">\n<h2><a class="toc-backref" href="#id69">5.5&nbsp;&nbsp;&nbsp;Other Form Actions</a></h2>\n<p>Beneath each Form are six buttons used to perform actions related to that Form:\n\'update\', \'delete\', \'history\', \'associate\', \'remember\' and \'export\'.</p>\n<div class="figure">\n<img alt="example of how an OLD Form is displayed" src="/images/OLD_form_example.png" style="width: 500px;" />\n<p class="caption">An example Form showing the six action buttons</p>\n</div>\n<div class="section" id="update">\n<h3><a class="toc-backref" href="#id70">5.5.1&nbsp;&nbsp;&nbsp;update</a></h3>\n<p>Clicking on the update button brings up the update Form page which looks almost\nidentical to the add Form page except that the fields are populated with values.</p>\n<p>Before a Form is updated, it is first saved in a form_backup table of the\ndatabase.  This means that all versions of a Form are recorded.  The history\nbutton (see below) allows one to view the previous versions of a Form.</p>\n</div>\n<div class="section" id="delete">\n<h3><a class="toc-backref" href="#id71">5.5.2&nbsp;&nbsp;&nbsp;delete</a></h3>\n<p>The delete button deletes a Form, i.e., removes it from the form table of the\ndatabase.  If one clicks the delete button, a confirm dialog appears in order to\nensure that Forms are not mistakenly deleted.</p>\n<p>As with the update action, before a Form is deleted it is saved in the\nform_backup table of the database.  This means that a mistakenly deleted Form\ncan be restored.  (But this requires advanced knowledge of the system...)</p>\n</div>\n<div class="section" id="history">\n<h3><a class="toc-backref" href="#id72">5.5.3&nbsp;&nbsp;&nbsp;history</a></h3>\n<p>The history button reveals the Form followed by its previous versions, ordered\nby newest to oldest.  Thus, if a Form has been changed, one can see how it used\nto be and change it back if desired.</p>\n<p>(It might be useful to have &quot;revert&quot; buttons next to each previous version.  It\nmight also be useful to use string comparisons and highlighting to illustrate\nthe exact nature of the changes.)</p>\n</div>\n<div class="section" id="associate">\n<h3><a class="toc-backref" href="#id73">5.5.4&nbsp;&nbsp;&nbsp;associate</a></h3>\n<p>The associate button directs to the associate Form page which allows one to\nassociate the Form to one or more Files by entering one or more comma-separated\nFile IDs in a text input field.  Associated Files appear beneath the Form\ndata when the Form is displayed.</p>\n</div>\n<div class="section" id="remember">\n<h3><a class="toc-backref" href="#id74">5.5.5&nbsp;&nbsp;&nbsp;remember</a></h3>\n<p>Clicking the remember button causes the Form to be remembered in the current\nuser\'s Memory.  Memory is simply a user-specific ordered list of references to\nForms.  See the <a class="reference internal" href="#memory">Memory</a> section.</p>\n</div>\n<div class="section" id="export">\n<h3><a class="toc-backref" href="#id75">5.5.6&nbsp;&nbsp;&nbsp;export</a></h3>\n<p>The export button brings up the export options page.  This page provides a\nnumber of export types.  At the time of writing, there are these 7:</p>\n<ol class="arabic simple">\n<li>transcription only (.txt)</li>\n<li>transcription and gloss</li>\n<li>interlinear gloss text</li>\n<li>interlinear gloss text +</li>\n<li>tab-delimited: everything</li>\n<li>XeLaTeX IGT (Covington)</li>\n<li>XeLaTeX IGT (Covington) +</li>\n<li>XeLaTeX IGT (Covington) ++</li>\n</ol>\n<p>Choosing an option and clicking &quot;Export&quot; will generate an export file and return\nthe export complete page with a link for downloading your generated export file.</p>\n<p>New export options can be created with a minimal amount of coding.  Let the\ndeveloper know what kind of export file you want to generate and he may try to\nimplement it.  (Better yet, study the lib/exporter.py module and write your\nown exporter object based on the examples therein -- and don\'t forget to share.)</p>\n</div>\n<div class="section" id="export-all">\n<h3><a class="toc-backref" href="#id76">5.5.7&nbsp;&nbsp;&nbsp;export all</a></h3>\n<p>When the results of a Form search are displayed, an \'export all\' button appears\nin the upper left portion of the page.  Clicking this button brings up the\nexport page where one can choose the export type (see above).  Export all works\njust like export except that in this case the output can contain data from more\nthan one Form.</p>\n</div>\n<div class="section" id="remember-all">\n<h3><a class="toc-backref" href="#id77">5.5.8&nbsp;&nbsp;&nbsp;remember all</a></h3>\n<p>When the results of a Form search are displayed, a \'remember all\' button appears\nin the upper left portion of the page.  Clicking this button will put all the\nsearch results into the current user\'s memory (see <a class="reference internal" href="#memory">Memory</a>)</p>\n</div>\n</div>\n</div>\n<div class="section" id="files">\n<h1><a class="toc-backref" href="#id78">6&nbsp;&nbsp;&nbsp;Files</a></h1>\n<p>An OLD File is a grouping of data about a digital file.  The file is uploaded to\nan OLD application and data about the file (such as its name, type and size) are\ninferred in the process.  Other data (such as a description) may be entered by\nthe user.</p>\n<div class="section" id="file-data">\n<h2><a class="toc-backref" href="#id79">6.1&nbsp;&nbsp;&nbsp;File Data</a></h2>\n<p>This section describes the type of data that comprise an OLD File.</p>\n<div class="section" id="id1">\n<h3><a class="toc-backref" href="#id80">6.1.1&nbsp;&nbsp;&nbsp;ID</a></h3>\n<p>The ID of a File is a unique integer automatically generated by the database.\nKnowing the ID of a File can be useful when you want to search for it, associate\nit to a Form or Collection or when you want to quickly view a certain file (just\nenter enter &quot;domain_name/file/view/1&quot; in your browser\'s address bar to view the\nFile with ID 1).</p>\n</div>\n<div class="section" id="name">\n<h3><a class="toc-backref" href="#id81">6.1.2&nbsp;&nbsp;&nbsp;name</a></h3>\n<p>The name of the uploaded file becomes the name of the OLD File.  If the system\nalready contains a file with that name, a digit is appended to the file name and\nincrememted until a unique name is arrived at.</p>\n</div>\n<div class="section" id="mime-type">\n<h3><a class="toc-backref" href="#id82">6.1.3&nbsp;&nbsp;&nbsp;MIME type</a></h3>\n<p>The MIME type of an OLD File is inferred from the a uploaded file.  The MIME\ntype is a string that indicates whether the file is text, an image, a video, a\nsound file, a PDF, a Word document, etc.  For more details, see the <a class="reference external" href="http://en.wikipedia.org/wiki/MIME_type">MIME type\nWikipedia entry</a></p>\n</div>\n<div class="section" id="size">\n<h3><a class="toc-backref" href="#id83">6.1.4&nbsp;&nbsp;&nbsp;size</a></h3>\n<p>The size of the OLD File is the size of the uploaded file.</p>\n</div>\n<div class="section" id="id2">\n<h3><a class="toc-backref" href="#id84">6.1.5&nbsp;&nbsp;&nbsp;enterer</a></h3>\n<p>The enterer is automatically added as a reference to the user who entered the\nFile.</p>\n</div>\n<div class="section" id="description">\n<h3><a class="toc-backref" href="#id85">6.1.6&nbsp;&nbsp;&nbsp;description</a></h3>\n<p>The description is a general-purpose string of text entered by the user.  The\ndescription might contain information about what happens on an audio/video\nrecording or what a certain audio/video/image stimulus was designed to elicit.</p>\n</div>\n<div class="section" id="id3">\n<h3><a class="toc-backref" href="#id86">6.1.7&nbsp;&nbsp;&nbsp;speaker</a></h3>\n<p>If a File is about a recording of a linguistic event, the speaker field can be\nused to indicate who was speaking the object language during the recording.</p>\n<p>(Functionality should probably exist to associate more than one speaker to a\nFile...)</p>\n</div>\n<div class="section" id="id4">\n<h3><a class="toc-backref" href="#id87">6.1.8&nbsp;&nbsp;&nbsp;elicitor</a></h3>\n<p>If a File is about a recording of a linguistic event, the elicitor field can be\nused to indicate the researcher who was eliciting during the recording.</p>\n</div>\n<div class="section" id="id5">\n<h3><a class="toc-backref" href="#id88">6.1.9&nbsp;&nbsp;&nbsp;date elicited</a></h3>\n<p>If a File is about a recording of a linguistic event, the date when the\nrecording was made can be entered in the date elicited field in mm/dd/yyyy\nformat.</p>\n</div>\n<div class="section" id="utterance-type">\n<h3><a class="toc-backref" href="#id89">6.1.10&nbsp;&nbsp;&nbsp;utterance type</a></h3>\n<p>If a File is about a recording of a linguistic event, then one can choose one of\nthe following four options for utterance type:</p>\n<ol class="arabic simple">\n<li>None: the type of utterance is left unspecified (the default)</li>\n<li>Object Language Utterance: the recording contains only utterances of the\nobject language</li>\n<li>Metalanguage Utterance: the recording contains only utterances of the\nmetalangauge</li>\n<li>Mixed Utterance: the recording contains utterances of both the object\nlanguage and metalanguage</li>\n</ol>\n<p>(Choosing the appropriate utterance type for a File representing a recording will\nbe useful for certain planned OLD features, e.g., language learning games that\nmight play a recording of an object language utterance and have players try to\nguess the meaning.)</p>\n</div>\n<div class="section" id="id6">\n<h3><a class="toc-backref" href="#id90">6.1.11&nbsp;&nbsp;&nbsp;date and time entered</a></h3>\n<p>When a File is added, the system automatically records the date and time the\nFile was entered.</p>\n</div>\n<div class="section" id="date-and-time-modified">\n<h3><a class="toc-backref" href="#id91">6.1.12&nbsp;&nbsp;&nbsp;date and time modified</a></h3>\n<p>When a File is updated, the system automatically records the date and time in\nthe date and time modified field.</p>\n</div>\n</div>\n<div class="section" id="adding-a-file">\n<h2><a class="toc-backref" href="#id92">6.2&nbsp;&nbsp;&nbsp;Adding a File</a></h2>\n<p>To add a File, go to \'add\' under \'files\' in the side menu (or use the keyboard\nshortcut \'q\').  Adding a File requires that you upload a digital file to the OLD\napplication.  Just click on the \'browse\' button and choose a file from your file\nsystem. After choosing the correct file, click the \'Add File\' button at\nthe bottom of the page.</p>\n<p>One may also optionally add a description, specify a speaker, an elicitor, a\ndate elicited and/or an utterance type.</p>\n<p>An OLD application will accept for upload digital files with the following MIME\ntypes:</p>\n<ul class="simple">\n<li>text/plain (plain text)</li>\n<li>application/x-latex (LaTeX document)</li>\n<li>application/msword (MS Word document)</li>\n<li>application/vnd.oasis.opendocument.text (Open Document Format)</li>\n<li>application/pdf (PDF)</li>\n<li>image/gif</li>\n<li>image/jpeg</li>\n<li>image/png</li>\n<li>audio/mpeg</li>\n<li>audio/ogg</li>\n<li>audio/x-wav</li>\n<li>video/mpeg</li>\n<li>video/mp4</li>\n<li>video/ogg</li>\n<li>video/quicktime</li>\n<li>video/x-ms-wmv</li>\n</ul>\n</div>\n<div class="section" id="searching-files">\n<h2><a class="toc-backref" href="#id93">6.3&nbsp;&nbsp;&nbsp;Searching Files</a></h2>\n<p>The File search page is very similar to the Form search page (see\n<a class="reference internal" href="#searching-forms">Searching Forms</a>).  Note the following differences:</p>\n<ul class="simple">\n<li>Files and Forms have different search location options.  Currently one can\nsearch Files by name, description and ID.</li>\n<li>Files do not have previous searches functionality</li>\n<li>Files have different additional search filters; note in particular the\nMIME type (see <a class="reference internal" href="#mime-type">MIME type</a>) and size filters</li>\n</ul>\n<p>To search for a File, click on \'search\' under \'files\' in the side menu or use\nthe keyboard shortcut \'w\'.</p>\n</div>\n<div class="section" id="browsing-files">\n<h2><a class="toc-backref" href="#id94">6.4&nbsp;&nbsp;&nbsp;Browsing Files</a></h2>\n<p>To browse all Files, click on \'files\' in the side menu or use the keyboard\nshortcut \'r\'.  To browse all Files in a particular order, perform an empty File\nsearch and alter the order by expression as appropriate.</p>\n</div>\n<div class="section" id="other-file-actions">\n<h2><a class="toc-backref" href="#id95">6.5&nbsp;&nbsp;&nbsp;Other File Actions</a></h2>\n<p>When a File is displayed, three action buttons appear at the bottom: \'update\',\n\'delete\' and \'associate\'.</p>\n<div class="figure">\n<img alt="example of how an OLD File is displayed" src="/images/OLD_file_example.png" style="width: 500px;" />\n<p class="caption">An example File showing the three action buttons</p>\n</div>\n<div class="section" id="id7">\n<h3><a class="toc-backref" href="#id96">6.5.1&nbsp;&nbsp;&nbsp;update</a></h3>\n<p>Clicking on the update button displays the File update page which looks very\nsimilar to the File add page except that some of the fields may contain data and\nthe uploaded digital file cannot be changed.  Make changes and click \'Save\nChanges\'.</p>\n</div>\n<div class="section" id="id8">\n<h3><a class="toc-backref" href="#id97">6.5.2&nbsp;&nbsp;&nbsp;delete</a></h3>\n<p>The delete button will both delete the data about the File from the database as\nwell as remove the appropriate digital file form the OLD application\'s \'files\'\ndirectory.  A confirm dialog appears in order to ensure that Files are not\nmistakenly deleted.</p>\n</div>\n<div class="section" id="id9">\n<h3><a class="toc-backref" href="#id98">6.5.3&nbsp;&nbsp;&nbsp;associate</a></h3>\n<p>The associate button brings up the associate File page which allows one to\nassociate the File to one or more Forms.  Just enter the IDs (comma-separted) of\nall Forms that should be associated to the File in question.</p>\n</div>\n<div class="section" id="id10">\n<h3><a class="toc-backref" href="#id99">6.5.4&nbsp;&nbsp;&nbsp;export all</a></h3>\n<p>When the File search results are displayed, there is a button near the top left\nof the page labelled \'export all\'.  Clicking on this button will create an\narchived folder (.zip) containing the digital files corresponding to the result\nFiles.  The page displayed will contain a link to the archived folder and a\nlisting of its contents.  Click on the link to download the archived folder.</p>\n</div>\n</div>\n</div>\n<div class="section" id="collections">\n<h1><a class="toc-backref" href="#id100">7&nbsp;&nbsp;&nbsp;Collections</a></h1>\n<p>Collections represent stories, records of elicitations, conversations or any\nother multi-sentence discourse.  At its core, a Collection is a set of ordered\nreferences to OLD Forms.  A Collection may also be associated to zero or more\nFiles (e.g., recordings of an entire story or elicitation session).</p>\n<div class="section" id="collection-data">\n<h2><a class="toc-backref" href="#id101">7.1&nbsp;&nbsp;&nbsp;Collection Data</a></h2>\n<div class="section" id="id11">\n<h3><a class="toc-backref" href="#id102">7.1.1&nbsp;&nbsp;&nbsp;ID</a></h3>\n<p>The ID is a unique integer assigned by the RDBMS to each Collection upon\ncreation.  Knowing the ID of a Collection comes in handy when you want to\nquickly access a Collection: enter \'domain_name/collection/view/1\' to view the\nCollection with ID 1.</p>\n</div>\n<div class="section" id="title">\n<h3><a class="toc-backref" href="#id103">7.1.2&nbsp;&nbsp;&nbsp;title</a></h3>\n<p>The title is a name for your Collection.  This field is mandatory.</p>\n</div>\n<div class="section" id="type">\n<h3><a class="toc-backref" href="#id104">7.1.3&nbsp;&nbsp;&nbsp;type</a></h3>\n<p>The type indicates what the Collection represents.  At present there are four\npossible Collection types: story, discourse, elicitation and other.</p>\n</div>\n<div class="section" id="id12">\n<h3><a class="toc-backref" href="#id105">7.1.4&nbsp;&nbsp;&nbsp;description</a></h3>\n<p>The description contains general-purpose textual data describing the Collection.</p>\n</div>\n<div class="section" id="id13">\n<h3><a class="toc-backref" href="#id106">7.1.5&nbsp;&nbsp;&nbsp;speaker</a></h3>\n<p>If the Collection has a speaker, use this field to reference an OLD speaker for\nthe Collection.</p>\n</div>\n<div class="section" id="id14">\n<h3><a class="toc-backref" href="#id107">7.1.6&nbsp;&nbsp;&nbsp;elicitor</a></h3>\n<p>The elicitor field references the name of the researcher who elicited the\nCollection, if appropriate.</p>\n</div>\n<div class="section" id="id15">\n<h3><a class="toc-backref" href="#id108">7.1.7&nbsp;&nbsp;&nbsp;source</a></h3>\n<p>If the Collection is from a textual source, one should use the source field to\nmake the reference.</p>\n</div>\n<div class="section" id="id16">\n<h3><a class="toc-backref" href="#id109">7.1.8&nbsp;&nbsp;&nbsp;date elicited</a></h3>\n<p>The date the Collection was elicited in mm/dd/yyyy format.</p>\n</div>\n<div class="section" id="content">\n<h3><a class="toc-backref" href="#id110">7.1.9&nbsp;&nbsp;&nbsp;content</a></h3>\n<p>The content of the Collection is a string of text.  That string can contain the\nfollowing types of markup:</p>\n<ul class="simple">\n<li><a class="reference internal" href="#old-form-embed-markup">OLD Form Embed Markup</a></li>\n<li><a class="reference internal" href="#old-entity-link-markup">OLD Entity Link Markup</a></li>\n<li><a class="reference internal" href="#restructuredtext">reStructuredText</a></li>\n</ul>\n<p>Consider the following example Collection content:</p>\n<pre class="literal-block">\nElicitation About Dogs\n======================\n\nThe following sentence shows A, B and C.\n\nform[1]\n\nThe above sentence was extracted from the audio recording in file(7)\n\nThe following sentence shows X and Y.\n\nform[2]\n\nCompare this discourse to that in collection(2)\n\nThe end.\n</pre>\n<p>The line underlined with \'=\'s will be displayed as a level-one HTML header\nand lines of text surrounded by blank lines will be displayed as HTML paragraphs\n(see <a class="reference internal" href="#restructuredtext">reStructuredText</a>).  Depending on the data in Forms 1 and 2, this content\nwill be rendered similar to below:</p>\n<div class="figure">\n<img alt="example Collection content" src="/images/OLD_collection_content.png" style="width: 500px;" />\n<p class="caption">Illustration of how the content of a Collection is rendered</p>\n</div>\n<p>Notice the following: \'form[71]\' and \'form[72]\' generate representations of the\nappropriate forms; \'# Elicitation About Dogs\' has been rendered as a header; and\n\'file(7)\' and \'collection(2)\' have generated as links to the File 7 and\nCollection 2 respectively.</p>\n<p>When adding content to (or altering the content of) a Collection, there is a\nbutton labelled \'insert contents of memory\'.  Clicking this button will append\nto the content text a list of references to each Form in the user\'s memory.  It\nis often convenient to gather relevant Forms into memory and then save them as\na Collection using this functionality.</p>\n</div>\n<div class="section" id="associated-files">\n<h3><a class="toc-backref" href="#id111">7.1.10&nbsp;&nbsp;&nbsp;associated files</a></h3>\n<p>Collections can be associated to zero or more Files.  To associate Files to a\nCollection, use the \'associate\' button that appears when a Collection is\ndisplayed.</p>\n</div>\n<div class="section" id="associated-forms">\n<h3><a class="toc-backref" href="#id112">7.1.11&nbsp;&nbsp;&nbsp;associated forms</a></h3>\n<p>Collections can be associated to zero or more Forms.  The Forms associated to a\nparticular Collection are those referenced in the content field of the\nCollection.</p>\n</div>\n</div>\n<div class="section" id="viewing-a-collection">\n<h2><a class="toc-backref" href="#id113">7.2&nbsp;&nbsp;&nbsp;Viewing a Collection</a></h2>\n<p>The content of a Collection can be displayed in three ways: long, short and\ncolumns.  Long view displays the embedded Forms of a Collection\'s content just\nas Forms are displayed by default, i.e., in interlinear gloss format with all of\ntheir data visible.  Short view displays only the transcription and glosses of\nembedded Forms.  Columns view is different from long and short in that the\nembedded Forms are displayed but any prose or other markup is not displayed.\nColumns view lists the Forms in a two-column table with the transcription on the\nleft and glosses on the right.</p>\n</div>\n<div class="section" id="adding-a-collection">\n<h2><a class="toc-backref" href="#id114">7.3&nbsp;&nbsp;&nbsp;Adding a Collection</a></h2>\n<p>To add a Collection, click \'add\' under \'collections\' in the side menu or use the\nkeyboard shortcut \'z\'.</p>\n<p>The only obligatory field in a Collection is the title.  Enter the data as\nnecessary and format the Collection <a class="reference internal" href="#content">content</a> as described above.  Then click\n&quot;Add Collection&quot;.</p>\n</div>\n<div class="section" id="searching-collections">\n<h2><a class="toc-backref" href="#id115">7.4&nbsp;&nbsp;&nbsp;Searching Collections</a></h2>\n<p>To search Collections, click \'search\' under \'collections\' in the side menu or\nuse the keyboard shortcut \'x\'.</p>\n<p>Searching Collections is nearly identical to the process of searching Forms and\nFiles.  Refer to the <a class="reference internal" href="#searching-forms">Searching Forms</a> section for more details.</p>\n</div>\n<div class="section" id="browsing-collections">\n<h2><a class="toc-backref" href="#id116">7.5&nbsp;&nbsp;&nbsp;Browsing Collections</a></h2>\n<p>To browse all Collections, click \'collections\' in the side menu or use the\nkeyboard shortcut \'c\'.</p>\n</div>\n<div class="section" id="other-collection-actions">\n<h2><a class="toc-backref" href="#id117">7.6&nbsp;&nbsp;&nbsp;Other Collection Actions</a></h2>\n<p>When a Collection is displayed, three buttons appear: \'update\', \'delete\' and\n\'associate\'.</p>\n<div class="section" id="id17">\n<h3><a class="toc-backref" href="#id118">7.6.1&nbsp;&nbsp;&nbsp;update</a></h3>\n<p>The update button directs to the update Collection page which allows users to\nalter the Collection\'s data.  Unlike with Forms, there is currently no\ncollection_backup table to store previous versions of Collections.</p>\n</div>\n<div class="section" id="id18">\n<h3><a class="toc-backref" href="#id119">7.6.2&nbsp;&nbsp;&nbsp;delete</a></h3>\n<p>The delete button destroys the Collection.  Unlike when deleting Forms, deleted\nCollections are not backed up in a collection_backup table.</p>\n</div>\n<div class="section" id="id19">\n<h3><a class="toc-backref" href="#id120">7.6.3&nbsp;&nbsp;&nbsp;associate</a></h3>\n<p>The associate button allows users to associate one or more Files to the\nCollection by entering a list of one or more comma-delimited File IDs.</p>\n</div>\n</div>\n</div>\n<div class="section" id="people">\n<h1><a class="toc-backref" href="#id121">8&nbsp;&nbsp;&nbsp;People</a></h1>\n<p>The \'people\' section lists information about the OLD entities representing\nindividuals, i.e., speakers and users.  To view the people of an OLD\napplication, click \'database\' in the primary menu and \'people\' in the secondary\nmenu (or use the keyboard shortcut \'p\').</p>\n<div class="section" id="speakers">\n<h2><a class="toc-backref" href="#id122">8.1&nbsp;&nbsp;&nbsp;Speakers</a></h2>\n<p>Speakers are the consultants/colleagues who speak the object language and have\nbeen kind enough to share their knowledge with the researchers who study and\ndocument their language.</p>\n<p>In order to document the speaker of a Form, File or Collection, that speaker\nmust first be represented as an OLD speaker entity.  The addition (or updating)\nof a speaker immediately results in that speaker being available in the speaker\nfields of Forms, Files and Collections.</p>\n<div class="section" id="view-a-speaker">\n<h3><a class="toc-backref" href="#id123">8.1.1&nbsp;&nbsp;&nbsp;view a speaker</a></h3>\n<p>To view a speaker, click on the speaker\'s name in the speakers table of the\npeople page.</p>\n</div>\n<div class="section" id="add-a-speaker">\n<h3><a class="toc-backref" href="#id124">8.1.2&nbsp;&nbsp;&nbsp;add a speaker</a></h3>\n<p>Users (administrators and researchers) can add a new speaker by clicking the\n\'add\' button.  A new speaker requires at least a first name and a last name.</p>\n<p>If the object language has dialects, specifying the dialect spoken by the\nspeaker may be useful when other researchers are trying to interpret your data.</p>\n<p>The page content section contains the text of the speaker\'s OLD web page.\n<a class="reference internal" href="#restructuredtext">reStructuredText</a> syntax can be used to format the speaker\'s web page.  The page\ncontent might include detailed information about the speaker\'s biography and\nproficiency with the object language.</p>\n</div>\n<div class="section" id="update-a-speaker">\n<h3><a class="toc-backref" href="#id125">8.1.3&nbsp;&nbsp;&nbsp;update a speaker</a></h3>\n<p>To update the data about a speaker, click on the speaker\'s name in the speakers\ntable of the people page and click the \'edit\' button.</p>\n</div>\n<div class="section" id="delete-a-speaker">\n<h3><a class="toc-backref" href="#id126">8.1.4&nbsp;&nbsp;&nbsp;delete a speaker</a></h3>\n<p>To delete a speaker, click on the speaker\'s name in the speakers table of the\npeople page and click the \'delete\' button.  A confirmation dialog will arise to\nensure that speakers are not mistakenly deleted.  As a speaker may be referenced\nby multiple OLD entities (some of them possibly entered by other users),\nconsider carefully the possible ramifications before deleting a speaker.</p>\n</div>\n</div>\n<div class="section" id="users">\n<h2><a class="toc-backref" href="#id127">8.2&nbsp;&nbsp;&nbsp;Users</a></h2>\n<p>Users are the individuals who are authorized to access a particular OLD\napplication.  The list of users determines the individuals available as\nenterers, elicitors and verifiers when adding Forms, Files and Collections.</p>\n<p>There are three types of users with different levels of authorization:\nadministrators, researchers and learners.  The permissions of these user types\nare listed below</p>\n<div class="section" id="administrators">\n<h3><a class="toc-backref" href="#id128">8.2.1&nbsp;&nbsp;&nbsp;administrators</a></h3>\n<p>Administrators are authorized to perform the following actions:</p>\n<ul class="simple">\n<li>view and update application settings</li>\n<li>view, add, update and delete users</li>\n<li>view, add, update and delete Forms, Files and Collections</li>\n<li>view, add, update and delete speakers, tags and sources</li>\n</ul>\n</div>\n<div class="section" id="researchers">\n<h3><a class="toc-backref" href="#id129">8.2.2&nbsp;&nbsp;&nbsp;researchers</a></h3>\n<p>Researchers are contributors to the database.  They are authorized to perform\nthe following actions:</p>\n<ul class="simple">\n<li>update their own user information</li>\n<li>view other users\' pages</li>\n<li>view, add, update and delete Forms, Files and Collections</li>\n<li>view, add, update and delete speakers, tags and sources</li>\n</ul>\n</div>\n<div class="section" id="learners">\n<h3><a class="toc-backref" href="#id130">8.2.3&nbsp;&nbsp;&nbsp;learners</a></h3>\n<p>Learners can view data in the OLD application.  They are authorized to perform\nthe following actions:</p>\n<ul class="simple">\n<li>update their own user information</li>\n<li>view other users\' pages</li>\n<li>view Forms, Files and Collections</li>\n<li>view speakers, tags and sources</li>\n</ul>\n</div>\n<div class="section" id="view-a-user">\n<h3><a class="toc-backref" href="#id131">8.2.4&nbsp;&nbsp;&nbsp;view a user</a></h3>\n<p>To view a user, click on that user\'s name in the users table of the people page.</p>\n</div>\n<div class="section" id="add-a-user">\n<h3><a class="toc-backref" href="#id132">8.2.5&nbsp;&nbsp;&nbsp;add a user</a></h3>\n<p>Only administrators can add users.  To add a user, click the add button in the\nusers section of the people page.</p>\n<p>New users require a username, a password, a first name, a last name, an email\nand a role, i.e., administrator, researcher or learner.</p>\n<p>If appropriate, enter an affiliation, i.e., the name of a university, college,\nschool, community, organization, etc., with which the user is affiliated.</p>\n<p>The personal page content is a string of text that comprises the OLD page of the\nuser.  The personal page content can contain the following types of markup:</p>\n<ul class="simple">\n<li><a class="reference internal" href="#old-entity-link-markup">OLD Entity Link Markup</a></li>\n<li><a class="reference internal" href="#old-file-file-markup">OLD File file Markup</a></li>\n<li><a class="reference internal" href="#old-image-embed-markup">OLD Image Embed Markup</a></li>\n<li><a class="reference internal" href="#restructuredtext">reStructuredText</a></li>\n</ul>\n</div>\n<div class="section" id="edit-a-user">\n<h3><a class="toc-backref" href="#id133">8.2.6&nbsp;&nbsp;&nbsp;edit a user</a></h3>\n<p>Administrators can edit users and users can edit their own user data.  To edit\na user, click the user\'s name in the users table of the people page and then\nclick the edit button.</p>\n</div>\n<div class="section" id="delete-a-user">\n<h3><a class="toc-backref" href="#id134">8.2.7&nbsp;&nbsp;&nbsp;delete a user</a></h3>\n<p>Only administrators can delete users.  To delete a user, click the user\'s name\nin the users table of the people page and then click the delete button.  A\nconfirm dialog will be displayed so that users are not mistakenly deleted.</p>\n</div>\n<div class="section" id="user-settings">\n<h3><a class="toc-backref" href="#id135">8.2.8&nbsp;&nbsp;&nbsp;user settings</a></h3>\n<p>Each user has their own settings page.  To view your settings, click on your\nname in the people page and then click the settings button.  At present, one\ncan set a default view type for Collection contents (see) as well as a mode\n(choice of database or dictionary).  (I don\'t think the mode setting actually\nhas any effect right now.  Make it do something or remove it!)</p>\n</div>\n</div>\n</div>\n<div class="section" id="tags">\n<h1><a class="toc-backref" href="#id136">9&nbsp;&nbsp;&nbsp;Tags</a></h1>\n<p>Tags are OLD entities which can be used to tag Forms and which are user-defined.\nAt present, there are three types of tag: keywords, syntactic categories and\nelicitation methods.  Users of a particular OLD application can add new tags.\nTo view the tags, click on \'database\' in the primary menu and \'tags\' in the\nsecondary menu (or use the keyboard shortcut \'t\').</p>\n<div class="section" id="id20">\n<h2><a class="toc-backref" href="#id137">9.1&nbsp;&nbsp;&nbsp;Keywords</a></h2>\n<p>Keywords are general-purpose tags that users can define.  A single form can be\nassociated to multiple keywords.  Some examples of potential keywords: \'SVO\',\n\'passive\', \'weak quantifier\', etc.</p>\n<div class="section" id="add-a-keyword">\n<h3><a class="toc-backref" href="#id138">9.1.1&nbsp;&nbsp;&nbsp;add a keyword</a></h3>\n<p>To add a new keyword, click the add button under the keywords heading of the\ntags page.  A keyword requires a name.  The name is what will be listed in the\nkeywords field when adding/updating a Form.  Use the optional description field\nto describe the keyword in detail.</p>\n</div>\n<div class="section" id="edit-a-keyword">\n<h3><a class="toc-backref" href="#id139">9.1.2&nbsp;&nbsp;&nbsp;edit a keyword</a></h3>\n<p>To edit a keyword, click the name of the keyword in the keywords table of the\ntags page and then click edit.</p>\n</div>\n<div class="section" id="delete-a-keyword">\n<h3><a class="toc-backref" href="#id140">9.1.3&nbsp;&nbsp;&nbsp;delete a keyword</a></h3>\n<p>To delete a keyword, click the name of the keyword in the keywords table of the\ntags page and then click delete.  A confirm dialog will appear to discourage\nmistakenly deleting a keyword.  Use caution when deleting a keyword as doing\nso will effect Forms associated to that keyword.</p>\n</div>\n</div>\n<div class="section" id="syntactic-categories">\n<h2><a class="toc-backref" href="#id141">9.2&nbsp;&nbsp;&nbsp;Syntactic Categories</a></h2>\n<p>Syntactic categories are user-definable tags that are intended to be used to\nindicate the morphological or syntactic category of the Form.  A Form can only\nhave one syntactic category.  Some examples of possible syntactic categories:\n\'S\', \'N\', \'V\', \'Asp\', \'Root\', \'Agr\', etc.</p>\n<div class="section" id="add-a-syntactic-category">\n<h3><a class="toc-backref" href="#id142">9.2.1&nbsp;&nbsp;&nbsp;add a syntactic category</a></h3>\n<p>To add a new syntactic category, click the add button under the syntactic\ncategories heading of the tags page.  A syntactic category requires a name.  The\nname is what will be listed in the category field when adding/updating a Form.\nUse the optional description field to describe the syntactic category in detail.</p>\n</div>\n<div class="section" id="edit-a-syntactic-category">\n<h3><a class="toc-backref" href="#id143">9.2.2&nbsp;&nbsp;&nbsp;edit a syntactic category</a></h3>\n<p>To edit a syntactic category, click the name of the syntactic category in the\nsyntactic categories table of the tags page and then click edit.</p>\n</div>\n<div class="section" id="delete-a-syntactic-category">\n<h3><a class="toc-backref" href="#id144">9.2.3&nbsp;&nbsp;&nbsp;delete a syntactic category</a></h3>\n<p>To delete a syntactic category, click the name of the syntactic category in the\nsyntactic categories table of the tags page and then click delete.  A confirm\ndialog will appear to discourage mistakenly deleting a syntactic category.  Use\ncaution when deleting a syntactic category as doing so will effect Forms\nassociated to that syntactic category.</p>\n</div>\n</div>\n<div class="section" id="elicitation-methods">\n<h2><a class="toc-backref" href="#id145">9.3&nbsp;&nbsp;&nbsp;Elicitation Methods</a></h2>\n<p>Elicitation methods are user-definable tags that are intended to be used to\nindicate the manner in which the Form was elicited from a speaker.  A Form can\nonly have one elicitation method.  Some examples of possible elicitation\nmethods: \'volunteered form\', \'used image stimulus\', \'part of a story\', etc.</p>\n<div class="section" id="add-an-elicitation-method">\n<h3><a class="toc-backref" href="#id146">9.3.1&nbsp;&nbsp;&nbsp;add an elicitation method</a></h3>\n<p>To add a new elicitation method, click the add button under the elicitation\nmethods heading of the tags page.  An elicitation method requires a name.  The\nname is what will be listed in the elicitation method field when adding/updating\na Form.  Use the optional description field to describe the elicitation method\nin detail.</p>\n</div>\n<div class="section" id="edit-an-elicitation-method">\n<h3><a class="toc-backref" href="#id147">9.3.2&nbsp;&nbsp;&nbsp;edit an elicitation method</a></h3>\n<p>To edit an elicitation method, click the name of the elicitation method in the\nelicitation methods table of the tags page and then click edit.</p>\n</div>\n<div class="section" id="id21">\n<h3><a class="toc-backref" href="#id148">9.3.3&nbsp;&nbsp;&nbsp;delete a syntactic category</a></h3>\n<p>To delete an elicitation method, click the name of the elicitation method in the\nelicitation methods table of the tags page and then click delete.  A confirm\ndialog will appear to discourage mistakenly deleting an elicitation method.  Use\ncaution when deleting an elicitation method as doing so will effect Forms\nassociated to that elicitation method.</p>\n</div>\n</div>\n</div>\n<div class="section" id="sources">\n<h1><a class="toc-backref" href="#id149">10&nbsp;&nbsp;&nbsp;Sources</a></h1>\n<p>A source is an OLD entity representing a textual source, e.g., a book, a\ndictionary, a paper, etc.  Both Forms and Collections can have sources.  To view\nthe sources of an OLD application, click \'database\' in the primary menu and then\n\'sources\' in the secondary menu.</p>\n<div class="section" id="add-a-source">\n<h2><a class="toc-backref" href="#id150">10.1&nbsp;&nbsp;&nbsp;Add a Source</a></h2>\n<p>To add a source, click the add button in the sources page.  Sources require the\nfollowing data: author first name, author last name, year of publication and\ntitle.  Optional data include a full bibliographic reference for the source and\nthe ID of an OLD File representing a digital copy of the source.</p>\n</div>\n<div class="section" id="edit-a-source">\n<h2><a class="toc-backref" href="#id151">10.2&nbsp;&nbsp;&nbsp;Edit a Source</a></h2>\n<p>To edit a source, click the name of the source in the sources table of the\nsources page and then click the edit button.</p>\n</div>\n<div class="section" id="delete-a-source">\n<h2><a class="toc-backref" href="#id152">10.3&nbsp;&nbsp;&nbsp;Delete a Source</a></h2>\n<p>To delete a source, click the name of the source in the sources table of the\nsources page and then click the delete button.  A confirm dialog will appear in\norder to avoid mistakenly deleting a source.  Use caution when deleting a source\nsince it may be referenced by Forms and Collections.</p>\n</div>\n</div>\n<div class="section" id="memory">\n<h1><a class="toc-backref" href="#id153">11&nbsp;&nbsp;&nbsp;Memory</a></h1>\n<p>Each OLD application user has her own private memory.  Memory is simply an\nordered list of OLD Forms that a particular user has chosen to remember.  To\nview your memory, click on \'database\' in the primary menu and then \'memory\' in\nthe secondary menu (or use the \'m\' keyboard shortcut).</p>\n<p>At the top of the memory page are two buttons: \'forget all\' and \'export all\'.\nEach Form in memory is displayed with its ID, transcription, morpheme break,\nmorpheme gloss and gloss values.  Beneath the Form data are three buttons:\n\'view\', \'export\' and \'forget\'</p>\n<div class="section" id="forget-all">\n<h2><a class="toc-backref" href="#id154">11.1&nbsp;&nbsp;&nbsp;forget all</a></h2>\n<p>The forget all button removes all Forms from memory.</p>\n</div>\n<div class="section" id="id22">\n<h2><a class="toc-backref" href="#id155">11.2&nbsp;&nbsp;&nbsp;export all</a></h2>\n<p>The export all button works just like the export all button that is displayed\nwith Form search results.  That is, clicking on this button will bring up the\nForm export page from where a user may choose an export type, click \'export\' and\nrecieve their memorized Forms in the chosen format.</p>\n</div>\n</div>\n<div class="section" id="dictionary">\n<h1><a class="toc-backref" href="#id156">12&nbsp;&nbsp;&nbsp;Dictionary</a></h1>\n<p>Clicking on \'dictionary\' in the primary menu (or using the \'d\' keyboard\nshortcut) brings up a dictionary-like interface to the Forms in the database.\nThe dictionary excludes all Forms whose transcription contains a whitespace\ncharacter and in so doing makes a stab at getting only words.  The Forms listed\nin the dictionary are sorted according to the order of graphs in the object\nlanguage orthography as specified in the OLD application\'s settings.</p>\n<div class="section" id="browse">\n<h2><a class="toc-backref" href="#id157">12.1&nbsp;&nbsp;&nbsp;Browse</a></h2>\n<p>To browse the dictionary, click \'browse\' in the secondary menu.  The dictionary\nbrowse page displays the object language name, a table of ordered graphs from\nthe object language orthography, the metalanguage name, and a table of ordered\ngraphs from the metalanguage orthography.</p>\n<div class="section" id="object-language-to-metalanguage">\n<h3><a class="toc-backref" href="#id158">12.1.1&nbsp;&nbsp;&nbsp;object language to metalanguage</a></h3>\n<p>Clicking on the object language name will display all of the entries of the\ndictionary in object-language-to-metalanguage format.  These entries will be\nordered according to the order of graphs in the object language orthography.</p>\n<p>Clicking on an object language graph will display all dictionary entries that\nbegin with that graph.  These entries will be ordered according to the order of\ngraphs in the object language orthography.</p>\n</div>\n<div class="section" id="metalanguage-to-object-language">\n<h3><a class="toc-backref" href="#id159">12.1.2&nbsp;&nbsp;&nbsp;metalanguage to object language</a></h3>\n<p>Clicking on the metalanguage name will display all of the entries of the\ndictionary in metalanguage-to-object-language format.  These entries will be\nordered according to the order of graphs in the metalanguage orthography.</p>\n<p>Clicking on a metalanguage graph will display all dictionary entries that\nbegin with that graph.  These entries will be ordered according to the order of\ngraphs in the metalanguage orthography.</p>\n</div>\n</div>\n<div class="section" id="search">\n<h2><a class="toc-backref" href="#id160">12.2&nbsp;&nbsp;&nbsp;Search</a></h2>\n<p>To search the dictionary, click \'search\' in the secondary menu.  The dictionary\nsearch page displays a single text input field and a dropdown menu where one can\nchoose to search the object language or the metalanguage.</p>\n<div class="section" id="id23">\n<h3><a class="toc-backref" href="#id161">12.2.1&nbsp;&nbsp;&nbsp;object language to metalanguage</a></h3>\n<p>If one enters a search term, chooses \'object language to metalanguage\' from the\ndropdown menu and clicks \'Search\', the system will return all Forms with a\ntranscription which matches the search term and which lacks whitespace.  The\nresults displayed will be ordered according to the ordering of graphs in the\nobject language orthography.</p>\n</div>\n<div class="section" id="id24">\n<h3><a class="toc-backref" href="#id162">12.2.2&nbsp;&nbsp;&nbsp;metalanguage to object language</a></h3>\n<p>If one enters a search term, chooses \'metalanguage to object language\' from the\ndropdown menu and clicks \'Search\', the system will return all Forms with a\ngloss which matches the search term and with a transcription which lacks\nwhitespace.  The results displayed will be ordered according to the ordering of\ngraphs in the metalanguage orthography.</p>\n</div>\n</div>\n</div>\n<div class="section" id="application-settings">\n<h1><a class="toc-backref" href="#id163">13&nbsp;&nbsp;&nbsp;Application Settings</a></h1>\n<p>The application settings are the global settings for an OLD application. All\nusers can view the application settings but only administrators can alter\nthem.  To view the application settings, click \'settings\' in the primary menu.</p>\n<div class="section" id="object-language">\n<h2><a class="toc-backref" href="#id164">13.1&nbsp;&nbsp;&nbsp;Object Language</a></h2>\n<p>The object language is the language that is being studied and documented with\nthe help of a particular OLD application.</p>\n<p>Administrators should specify a name for the object language.  This name will be\nused throughout the application to refer to the object language.</p>\n<p>Administrators can also specify the ISO 639-3 three-letter code for the language\nso that it can be unambiguously identified.  This is especially important if the\nchosen object language name is one of many variants.  The OLD has all the ISO\n639-3 codes stored.  When one begins to type in the ISO 639-3 Code text input\nfield, suggestions of valid codes appear along with the standard (\'reference\')\nname of the corresponding language.  If the ISO 639-3 code cannot be found, try\nsearching the <a class="reference external" href="http://www.ethnologue.com">Ethnologue web site</a>.</p>\n</div>\n<div class="section" id="storage-input-output">\n<h2><a class="toc-backref" href="#id165">13.2&nbsp;&nbsp;&nbsp;Storage, Input &amp; Output</a></h2>\n<p>It is possible that an object language will have multiple orthographies in use.\nIn such a case, it would be nice to permit each user to interact with an OLD\napplication using the orthography of their choice.  On the other hand, it is\nalso desirable that all object language data be stored in the same orthography.\nTo resolve this conflict, the OLD facilitates automatic translation of object\nlanguage strings from one orthography to another.</p>\n<p>For this reason, an OLD application requires the specification of three types\nof object language orthography:</p>\n<ol class="arabic simple">\n<li>a storage orthography</li>\n<li>a default input orthography</li>\n<li>a default output orthography</li>\n</ol>\n<p>The storage orthography is immutable, but the input and output orthographies are\n\'default\' because each user can override these settings in their user-specific\nsettings.  Henceforward, \'input orthography\' will refer to the user-specific\ninput orthography if specified, or the system-wide default otherwise.  Same\nthing, mutatis mutandis, for \'output orthography\'.</p>\n<p>The storage orthography is what input strings will be converted into for storage\nand output strings converted from for display.  Object language input from the\nuser will be converted from the input orthography to the storage orthography.\nObject language output will be converted from the storage orthography to the\noutput orthography for display.</p>\n<p>The simplest setup (and the recommended one) is to specify a single orthography\nfor storage, input and output.  This will result in no conversions being made\nwhen object language data are entered or displayed.  That way, whenever a user\nwants to view or export (or enter) their data in a different orthography, they\ncan alter their user-specific settings as they please.</p>\n<p>In special circumstances, it may be desirable to set the default input and\ndefault output orthographies to orthography X and the storage orthography to\northography Y.  (For example, X may be common and familiar to users yet Y is\nchosen for storage because it is more expressive.)  With this setup, the OLD\napplication will handle all orthographic conversions and users using the\nsystem defaults will not necessarily know (or need to know) about the existence\nof the distinct storage orthography Y.</p>\n</div>\n<div class="section" id="object-language-orthography-ies">\n<h2><a class="toc-backref" href="#id166">13.3&nbsp;&nbsp;&nbsp;Object Language Orthography(/ies)</a></h2>\n<p>An object language orthography is an ordered list of graphs (characters or\ncharacter sequences) for representing object language data.  Depending on how\nthings are set up, an OLD application can be configured to automatically\ntransform object language data from one orthography to another (see\n<a class="reference internal" href="#storage-input-output">Storage, Input &amp; Output</a> for details).</p>\n<p>Administrators should specify at least one object language orthography.  As\ndiscussed above (<a class="reference internal" href="#storage-input-output">Storage, Input &amp; Output</a>), the simplest setup is to specify\na single orthography and make that orthography be the storage, default input and\ndefault output orthography.</p>\n<p>If multiple object language orthographies are defined, then all orthographies\nmust have the same structure and the same number of graphs.  The OLD will not\nallow multiple object language orthographies to be defined if these requirements\nare not met.</p>\n</div>\n<div class="section" id="object-language-data">\n<h2><a class="toc-backref" href="#id167">13.4&nbsp;&nbsp;&nbsp;Object Language Data</a></h2>\n<p>Certain data types are assumed by the OLD to contain nothing but strings of\ngraphs from the input orthography; these I call \'pure object language fields\'.\nCertain data types are optionally assumed to contain nothing but input\northography strings; these I call \'optionally object language fields\'.  Finally,\nsome data types can contain object language tags (\'&lt;obl&gt;&lt;/obl&gt;\') and the data\nwithing such tags will be considered object language data; these fields I call\n\'object language tag fields\'.</p>\n<div class="section" id="pure-object-language-fields">\n<h3><a class="toc-backref" href="#id168">13.4.1&nbsp;&nbsp;&nbsp;Pure Object Language Fields</a></h3>\n<p>When entering data into, or when searching for data in, the pure object language\nfields listed below, the input is converted from the input orthography to the\nstorage orthography.  When the data from such fields are displayed, they are\nconverted from the storage orthography to the output orthography.  (Also, when\ndata from these fields are displayed for updating, the data are converted from\nthe storage orthography to the input orthography.)</p>\n<p>The following fields are pure object language fields:</p>\n<ul class="simple">\n<li>transcriptions of Forms</li>\n</ul>\n</div>\n<div class="section" id="optionally-object-language-fields">\n<h3><a class="toc-backref" href="#id169">13.4.2&nbsp;&nbsp;&nbsp;Optionally Object Language Fields</a></h3>\n<p>The following fields will be treated like pure object language fields if so\nspecified in the application settings.  To alter these settings, click on\n\'settings\' in the primary menu, click the edit button and scroll down to the\n\'object language strings\' fieldset.  In the dropdown menu, choose \'yes\' to treat\nmorpheme breaks as object language fields or \'no\' not to.</p>\n<ul class="simple">\n<li>morpheme breaks of Forms</li>\n</ul>\n</div>\n<div class="section" id="object-language-tag-fields">\n<h3><a class="toc-backref" href="#id170">13.4.3&nbsp;&nbsp;&nbsp;Object Language Tag Fields</a></h3>\n<p>The fields listed below may contain substrings enclosed in object language tags,\ni.e., \'&lt;obl&gt;\' to the left and \'&lt;/obl&gt;\' to the right.  These substrings will be\ntreated like object language data for the purposes of orthographic conversion,\nas described in the <cite>Pure Object Language Fields</cite> section above.</p>\n<ul class="simple">\n<li>general comments of Forms</li>\n<li>speaker comments of Forms</li>\n</ul>\n</div>\n</div>\n<div class="section" id="testing-orthography-conversion">\n<h2><a class="toc-backref" href="#id171">13.5&nbsp;&nbsp;&nbsp;Testing Orthography Conversion</a></h2>\n<p>To test how well the OLD converts from one orthography to another, go to the\nsettings orthography page by clicking on \'settings\' in the primary menu, then\nscroll down to the bottom of the \'Storage, Input &amp; Output\' section and click\nthe button labeled \'More on Orthographies\'.</p>\n<p>This page allows users to do two things:</p>\n<ol class="arabic simple">\n<li>experiment with converting strings from one orthography to another</li>\n<li>see whether they are able to enter the graphs of a particular orthography</li>\n</ol>\n<p>This page is pretty self-explanatory.</p>\n</div>\n<div class="section" id="metalanguage">\n<h2><a class="toc-backref" href="#id172">13.6&nbsp;&nbsp;&nbsp;Metalanguage</a></h2>\n<p>Administrators should specify the name, ISO 639-3 code and orthography of the\nmetalanguage as well.  The metalanguage name will be used throughout the system\nto refer to the metalanguage and the metalanguage orthography will be used in\nthe dictionary interface to the database.</p>\n</div>\n</div>\n<div class="section" id="character-encoding">\n<h1><a class="toc-backref" href="#id173">14&nbsp;&nbsp;&nbsp;Character Encoding</a></h1>\n<p>OLD applications handle all strings as unicode.  This means that users should\nhave no problems using obscure characters when entering data.</p>\n</div>\n<div class="section" id="fonts">\n<h1><a class="toc-backref" href="#id174">15&nbsp;&nbsp;&nbsp;Fonts</a></h1>\n<p>An OLD application may require the installation of certain fonts in order to\ndisplay characters properly.  If applicable, instructions for acquiring and\ninstalling this font should be provided in the help page of this OLD\napplication (i.e., click on \'help\' in the primary menu and then \'help page\' in\nthe secondary menu).</p>\n</div>\n<div class="section" id="regular-expressions">\n<h1><a class="toc-backref" href="#id175">16&nbsp;&nbsp;&nbsp;Regular Expressions</a></h1>\n<p>Regular expressions allow one to specify complex patterns when searching Forms,\nFiles or Collections.  I will not attempt to provide a complete tutorial on how\nto write regular expressions.  There are many online resources devoted to that\npurpose.  Some places to start looking:</p>\n<ul class="simple">\n<li><a class="reference external" href="http://en.wikipedia.org/wiki/Regular_expression">wikipedia page on regular expressions</a></li>\n<li><a class="reference external" href="http://gnosis.cx/publish/programming/regular_expressions.html">gnosis.cx/publish/programming/regular_expressions.html</a></li>\n</ul>\n<div class="section" id="metacharacters">\n<h2><a class="toc-backref" href="#id176">16.1&nbsp;&nbsp;&nbsp;Metacharacters</a></h2>\n<p>In the regular expression syntax, certain characters have special meanings.\nThese characters are called metacharacters.  In this section, I briefly review\nthe meanings of some of these characters.</p>\n<dl class="docutils">\n<dt>.</dt>\n<dd>Matches any single character.  E.g., d.g matches \'dog\', \'dig\', \'dkg\', etc.\nbut not \'doog\'</dd>\n<dt>[]</dt>\n<dd>Matches any of the characters in the brackets.  E.g., d[iou]g matches \'dog\',\n\'dig\' and \'dug\' and nothing else</dd>\n<dt>[^]</dt>\n<dd>Matches any character that is not in the brackets.  E.g., d[^ae]g matches\n\'dog\', \'dig\', \'dug\', \'dzg\', etc. but not \'dag\', \'deg\' or \'doog\'</dd>\n</dl>\n<dl class="docutils">\n<dt>^</dt>\n<dd>Matches the beginning of the string.  E.g., ^d matches \'dog\' and \'dare him!\'\nbut not \' dog\' or \'adrift\'</dd>\n</dl>\n<dl class="docutils">\n<dt>$</dt>\n<dd>Matches the end of the string.  E.g., k$ matches \'back\' and \'he will walk\'\nbut not \'back.\', \'he walks\' or \'kid\'</dd>\n<dt>*</dt>\n<dd>Matches the preceding element zero or more times.  E.g., a*gh matches\n\'aaaaaaaaaagh\', \'he yelled &quot;aaagh&quot;\' and \'light\' but not \'aaaagghh\'.  (The\nphrase \'preceding element\' is used to include subexpressions as well as\ncharacters.  E.g., [ae]*gh matches \'aagh!\' or \'eegh!\')</dd>\n<dt>+</dt>\n<dd>Matches the preceding element one or more times.  E.g., a+gh matches\n\'aaaaaaaaaagh\' and \'he yelled &quot;aaagh&quot;\' but not \'light\'</dd>\n</dl>\n<dl class="docutils">\n<dt>?</dt>\n<dd>Matches the preceding element zero or one time.  E.g., bee?t matches \'bet\'\nand \'beet\' and nothing else</dd>\n<dt>{m,n}</dt>\n<dd>Matches the preceding element at least m and no more than n times.  E.g.,\nb[eo]{1,2}t matches \'bet\', \'beet\', \'bot\', \'boot\', \'beot\', \'boet\' and nothing\nelse</dd>\n<dt>{m}</dt>\n<dd>Matches the preceding element exactly m times</dd>\n<dt>{m,}</dt>\n<dd>Matches the preceding element at least m times</dd>\n<dt>{,m}</dt>\n<dd>Matches the preceding element no more than m times</dd>\n<dt>|</dt>\n<dd>Matches the expression before the vertical bar or after it.  E.g., d(i|o|u)g\nmatches the exact same set of strings as d[iou]g does (see above).  E.g.,\nusing parentheses to group subexpressions, ^((talk)|(speak))s$ matches\n\'talks\' and \'speaks\' but nothing else</dd>\n</dl>\n</div>\n<div class="section" id="some-useful-regular-expressions">\n<h2><a class="toc-backref" href="#id177">16.2&nbsp;&nbsp;&nbsp;Some Useful Regular Expressions</a></h2>\n<dl class="docutils">\n<dt>(^| |\'|&quot;)word($| |\'|&quot;)</dt>\n<dd>Matches the word \'word\'.  I.e., matches \'a bad word\' and \'&quot;word&quot; was what\nI said\' without matching \'words are interesting\', \'she is wordy\' or\n\'sword\', etc.</dd>\n<dt>(^| |-|=)mor($| |-|=)</dt>\n<dd>Matches the morpheme \'mor\'.  I.e., matches \'a-mor=b\' and \'a=mor\' without\nmatching \'a-morp-b\' or \'kmor=b\', etc.</dd>\n</dl>\n</div>\n</div>\n<div class="section" id="old-markup">\n<h1><a class="toc-backref" href="#id178">17&nbsp;&nbsp;&nbsp;OLD Markup</a></h1>\n<p>The OLD recognizes certain strings of characters as markup.  Such strings,\ndepending on where they occur, will be displayed in special ways.  For example,\nthe string \'form[23]\' in the content of a Collection will be displayed as a\nformatted version of the OLD Form with ID 23.</p>\n<div class="section" id="old-form-embed-markup">\n<h2><a class="toc-backref" href="#id179">17.1&nbsp;&nbsp;&nbsp;OLD Form Embed Markup</a></h2>\n<p>An expression of the form \'form[x]\', where \'x\' is the ID of a Form, will be\nrecognized as Form embed markup.  Form embed markup is recognized in\nthe content field of a Collection.  The expression \'form[x]\' in the content of\na Collection will be displayed as a formatted representation of the primary data\nof the Form with ID x.</p>\n<p>In addition, the expression \'form[x]\' will cause Form x to be listed as one of\nthe Forms that are associated to the Collection in question.</p>\n</div>\n<div class="section" id="old-entity-link-markup">\n<h2><a class="toc-backref" href="#id180">17.2&nbsp;&nbsp;&nbsp;OLD Entity Link Markup</a></h2>\n<p>An expression of the form \'entity(x)\', where \'entity\' is the name (in lowercase)\nof an OLD entity (e.g., \'form\', \'file\', \'collection\', \'speaker\', \'user\') and \'x\'\nis the ID of such an entity, will be recognized as Entity link markup.\nEntity link markup creates HTML links to OLD entities.  That is,\nexpressions of the form \'form(22)\' \'file(3102)\' and \'collection(77)\' will be\ndisplayed as HTML links to Form 22, File 3102 and Collection 77 respectively.\nEntity link markup is recognized in the content of a Collection and in the\npage content of users.</p>\n</div>\n<div class="section" id="old-file-file-markup">\n<h2><a class="toc-backref" href="#id181">17.3&nbsp;&nbsp;&nbsp;OLD File file Markup</a></h2>\n<p>An expression of the form \'[x]link(y)\', where \'x\' is a string of text and \'y\'\nis the name of an OLD File, will be recognized as File file markup.  File file\nmarkup creates an HTML link to the digital file of an OLD File.  That is,\nthe expression \'[interesting audio]link(elicitation_file.wav)\' will be\ndisplayed as a link consisting of the words \'interesting audio\' and which points\nto the audio file elicitation_file.wav.  File file markup is recognized in the\npage content of users.</p>\n</div>\n<div class="section" id="old-image-embed-markup">\n<h2><a class="toc-backref" href="#id182">17.4&nbsp;&nbsp;&nbsp;OLD Image Embed Markup</a></h2>\n<p>An expression of the form \'image(x)\', where \'x\' is the name of an OLD image\nFile, will be recognized as image embed markup.  Image embed markup embeds the\nappropriate image in the text.  That is, the expression\n\'image(stimulus_photo.jpg)\' will cause the image of the File whose name is\n\'stimulus_photo.jpg\' to be displayed.  Image embed markup is recognized in the\npage content of users.</p>\n</div>\n<div class="section" id="old-metalanguage-markup">\n<h2><a class="toc-backref" href="#id183">17.5&nbsp;&nbsp;&nbsp;OLD Metalanguage Markup</a></h2>\n<p>The OLD expects certain fields (e.g., Form transcriptions and optionally\nmorpheme breaks) to contain data in the object language orthography.  Depending\non how the OLD application is set up, graphs of this orthography may be\ndisplayed differently from how they are entered (see <a class="reference internal" href="#storage-input-output">Storage, Input &amp; Output</a>\nabove).  This can cause undesired character transformations if metalanguage\nstrings (e.g., names, borrowings) are entered in object language fields.  To\navoid this potential complication, the OLD permits the use of metalanguage\nmarkup.  Expressions of the form \'&lt;ml&gt;string&lt;/ml&gt;\' will be interpreted as\nmetalanguage strings and the data between the \'&lt;ml&gt;\' and \'&lt;/ml&gt;\' tags will not\nbe treated as object language data, i.e., no orthographic conversions will be\napplied.</p>\n<p>For example, an OLD application might be set up to display the object language\nstring \'ts\' as \'c\'.  But if a Form transcription contains the English name\n\'Keats\', it will be erroneously displayed as \'Keac\'.  To avoid this, simply\nenter the metalanguage (in this case, English) string as \'&lt;ml&gt;Keats&lt;/ml&gt;\'.  This\nwill then be displayed as \'Keats\', as desired.</p>\n</div>\n</div>\n<div class="section" id="restructuredtext">\n<h1><a class="toc-backref" href="#id184">18&nbsp;&nbsp;&nbsp;reStructuredText</a></h1>\n<p>reStructuredText is a human-readable markup syntax that can be converted to\nHTML (as well as to LaTeX and other formats).  For example, the string:</p>\n<blockquote>\n<p><tt class="docutils literal">This is a Header</tt></p>\n<p><tt class="docutils literal"><span class="pre">================</span></tt></p>\n</blockquote>\n<p>might be converted to \'&lt;h1&gt;This is a Header&lt;/h1&gt;\' and displayed by a browser as a\nformatted top-level header. A good quick reference for reStructuredText syntax,\nis the <a class="reference external" href="http://docutils.sourceforge.net/docs/user/rst/quickref.html#external-hyperlink-targets">Quick reStructuredText web page</a>.</p>\n<p>reStructuredText is the markup language of choice for creating OLD pages because\nit can be converted to a variety of formats (i.e., HTML, LaTeX, ODT).</p>\n</div>\n<div class="section" id="markdown">\n<h1><a class="toc-backref" href="#id185">19&nbsp;&nbsp;&nbsp;Markdown</a></h1>\n<p>Markdown is a human-readable markup syntax that can be displayed as HTML.  For\nexample, the string \'# This is a Header\' will be displayed as \'&lt;h1&gt;This is a\nHeader&lt;/h1&gt;\' which in turn will be displayed by the browser as a formatted\ntop-level header. For more details on Markdown syntax, visit the\n<a class="reference external" href="http://daringfireball.net/projects/markdown/syntax">Markdown syntax web page</a>.</p>\n</div>\n<div class="section" id="keyboard-shortcuts">\n<h1><a class="toc-backref" href="#id186">20&nbsp;&nbsp;&nbsp;Keyboard Shortcuts</a></h1>\n<p>HTML allows the use of keyboard shortcuts on links (anchors) via the &quot;accesskey&quot;\nattribute.  The OLD uses accesskeys to create keyboard shortcuts for commonly\nused actions.  Hold your cursor over an action link to see a description of what\nthe link does.  If that description is terminated by &quot;&lt;x&gt;&quot;, then &quot;x&quot; is the\nkeyboard shortcut.</p>\n<p>Accesskeys are implemented differently depending on the operating system and\nbrowser being used.  With FireFox on a Mac, use Control + Key.  With Safari or\nChrome on a Mac, use Control + Option + Key.</p>\n<p>List of keyboard shortcuts:</p>\n<dl class="docutils">\n<dt>f</dt>\n<dd>browse all Forms</dd>\n<dt>s</dt>\n<dd>search Forms</dd>\n<dt>a</dt>\n<dd>add a Form</dd>\n<dt>c</dt>\n<dd>browse all Collections</dd>\n<dt>x</dt>\n<dd>search Collections</dd>\n<dt>z</dt>\n<dd>add a Collection</dd>\n<dt>r</dt>\n<dd>browse all Files</dd>\n<dt>w</dt>\n<dd>search Files</dd>\n<dt>q</dt>\n<dd>add a File</dd>\n<dt>l</dt>\n<dd>login or logout</dd>\n<dt>p</dt>\n<dd>view the people page</dd>\n<dt>t</dt>\n<dd>view the tags page</dd>\n<dt>m</dt>\n<dd>view the contents of one\'s memory</dd>\n</dl>\n</div>\n<div class="section" id="browser-support">\n<h1><a class="toc-backref" href="#id187">21&nbsp;&nbsp;&nbsp;Browser Support</a></h1>\n<p>Web browsers do not render HTML, CSS and Javascript in a uniformly consistent\nmanner.  Therefore, parts of the OLD may not appear as intended, depending on\nthe OS and browser.</p>\n<p>The OLD works on a Mac (OS 10.6) with FireFox, Safari and Chrome.  It has also\nbeen tested on Ubuntu with FireFox without any apparent problems.  It has not\nyet been tested with Internet Explorer on a PC.</p>\n</div>\n<div class="section" id="glossary-of-terms">\n<h1><a class="toc-backref" href="#id188">22&nbsp;&nbsp;&nbsp;Glossary of Terms</a></h1>\n<dl class="docutils">\n<dt>metalanguage</dt>\n<dd>The language used to gloss and otherwise document the object language.</dd>\n<dt>OLD</dt>\n<dd>The Online Linguistic Database; a piece of software that can be used to\ncreate OLD applications tailored to the documentation of particular\nlanguages.</dd>\n<dt>OLD application</dt>\n<dd>A language-specific OLD instance.  For example, an OLD application used to\nstudy Esperanto might be called the Esperanto Online Linguistic Database.</dd>\n<dt>object language</dt>\n<dd>The language under study.  The language that is being documented with the\nhelp of a particular OLD application.</dd>\n<dt>RDBMS</dt>\n<dd>Relational Database Management System.  The database software, i.e., the\nthing that allows us to store, retrieve and alter data.  An OLD application\nmay be configured to use the following RDBMSs: MySQL, SQLite or PostgreSQL.</dd>\n</dl>\n</div>\n<div class="section" id="future-features">\n<h1><a class="toc-backref" href="#id189">23&nbsp;&nbsp;&nbsp;Future Features</a></h1>\n<div class="section" id="priorities">\n<h2><a class="toc-backref" href="#id190">23.1&nbsp;&nbsp;&nbsp;Priorities</a></h2>\n<ul class="simple">\n<li>administrators/users should be able to alter/add to the list of possible\ngrammaticalities/glossGrammaticalities and possible morpheme delimiters</li>\n<li>offer further export formats (sql, odt) (docutils offers odt creation!)</li>\n<li>clean up code (docstrings in controllers, make more readable, etc.)</li>\n<li>finish documentation (developer guide, api, user guide)</li>\n<li>is &lt;ml&gt;&lt;/ml&gt; markup available in the morpheme break field?  If not, it should\nbe</li>\n<li>test the OLD on a PC with various browsers and update the OLD User Guide</li>\n</ul>\n</div>\n<div class="section" id="relatively-easy-projects">\n<h2><a class="toc-backref" href="#id191">23.2&nbsp;&nbsp;&nbsp;Relatively Easy Projects</a></h2>\n<ul class="simple">\n<li>when entering data, certain values from past additions should be made default,\ni.e., elicitor and syntactic category are often repeatedly the same person\nwhen a user is entering multiple forms</li>\n<li>currently all searches are case insensitive (should this be changed?...)</li>\n<li>ability to search Forms by association to Files and vice versa</li>\n<li>allow the file of a File to be hosted on another server, e.g., use the\nembeddedFileMarkup column of the file table</li>\n<li>make forms searchable by dialect (or is this redundant since one can already\nsearch by (sets of) speaker(s)?)</li>\n<li>create \'forgot my password\' functionality (and forgot my username\nfunctionality too?)</li>\n<li>I think an administrator might be able to delete her own user account.  This\nshould be prohibited</li>\n</ul>\n</div>\n<div class="section" id="big-projects">\n<h2><a class="toc-backref" href="#id192">23.3&nbsp;&nbsp;&nbsp;Big Projects</a></h2>\n<ul class="simple">\n<li>integrate a general-purpose morphological parser (SFST, pySFST)</li>\n<li>ability to indicate vowel and consonant classes on orthographies</li>\n<li>warnings or errors when orthographically invalid transcriptions/morpheme\nbreaks are entered</li>\n<li>orthography-specific ordering should be available via the database interface</li>\n<li>forums/discussion functionality</li>\n<li>create functionality that will allow users to create an arbitrary number of\nweb pages (worth it?)</li>\n</ul>\n</div>\n</div>\n</div>\n')
        return ''
    finally:
        context.caller_stack._pop_frame()


